题目描述
面试题目与这道LeetCode题目本质相同,但以不同的方式呈现:
https://leetcode.com/problems/move-pieces-to-obtain-a-string/description/
初始题目
给定两个字符串表示初始状态和目标状态:
initialState: "_ L _ L L _ R L _ R R R "
targetState: " _ _ _ L _ R L _ _ _ _ R"
要求判断是否能通过移动棋子将初始状态转变为目标状态(输出true/false)
进阶问题
面试官提出的follow-up:
如果棋子可以移出数组范围(超出边界)该怎么处理?
解题过程
-
基础问题解法:
- 成功解决了基础问题(与LeetCode原题相同的解法)
-
进阶问题思考:
- 我提出可以移除开头连续的L和结尾连续的R,然后对中间部分使用原问题的解法
- 面试官指出这不一定是必要条件,因为棋子不一定会被移除
- 需要跟踪索引位置来判断
- 由于时间关系,未能完整实现这个方案
不确定是否能进入下一轮,希望可以!加油!