題目鏈接:. - 力扣(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;}
}