输入:"L__R__R", "L______RR" 输出:false 但在本地调试,输出是 true ,是代码哪里出错了吗?
bool canChange(string start, string target) { //长度一定要相同 if (start.size() != target.size()) return false; int num = start.size(); int i, j = 0; while (i < num && j < num) { while (i < num && start[i] == '_') i++; while (j < num && target[j] == '_') j++; // L 和 R 的排序一定要相同 if (start[i] != target[j]) return false; // R 只能往右移,所以下标一定要小,才能往右移( i + x = j ) if (start[i] == 'R' && i > j) return false; // L 只能往左移,所以下标一定要大,才能往左移( i - x = j ) if (start[i] == 'L' && i < j) return false; i++; j++; } while (i < num) { if (start[i++] != '_') return false; } while (j < num) { if (target[j++] != '_') return false; } return true; }
![]() | 1 neteroster 2022-07-12 10:54:35 +08:00 ![]() int i, j = 0; |
![]() | 2 jmc891205 2022-07-12 11:04:00 +08:00 ![]() 好像 debug 的时候未初始化的变量会置零 |
4 anonymousar 2022-07-12 11:26:57 +08:00 熟悉的周赛 |
5 lixiekun 2022-07-12 14:02:44 +08:00 上周天周赛第三题,卡了我好久 |