题目链接:. - 力扣(LeetCode)
代码看起来繁琐,但实际思想并不难。核心思路是:倒序遍历,遇到#就记录跳过次数,遇到字母就跳过记录次数,最后比较不用跳过时的字母是否一样。
class Solution {public boolean backspaceCompare(String s, String t) {int i = s.length()-1,j = t.length()-1;int skipS = 0,skipT = 0;while(i >= 0 || j >= 0){while(i >= 0){if(s.charAt(i) == '#'){skipS++;i--;}else if(skipS > 0){skipS--;i--;}else {break;}}while(j >= 0){if(t.charAt(j) == '#'){skipT++;j--;}else if(skipT > 0){skipT--;j--;}else {break;}}if(i >= 0 && j >= 0){if(s.charAt(i) != t.charAt(j)){return false;}}else{if(j >=0 || i>=0){return false;}}i--;j--;}return true;}
}