/*
* @lc app=leetcode.cn id=844 lang=javascript
*
* [844] 比较含退格的字符串
*/
// @lc code=start
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var backspaceCompare = function (s, t) {
let i = s.length - 1
let j = t.length - 1
let backspaceS = 0
let backspaceT = 0
while (i >= 0 || j >= 0) {
while (i >= 0) {
// 如果当前是#,指针向前
if (s[i] === '#') {
backspaceS++
i--
// 当前的退格大于0就指针向前,退格减1
} else if (backspaceS > 0) {
backspaceS--
i--
// 当前是字符,退格等于0,先跳出循环
} else {
break
}
}
while (j >= 0) {
if (t[j] === '#') {
backspaceT++
j--
} else if (backspaceT > 0) {
backspaceT--
j--
} else {
break
}
}
// 比较两个是不是一致,是就两个指针都往前挪
if (s[i] !== t[j]) {
return false
}
i--
j--
}
return true
}
// @lc code=end