一、题目描述
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。
注意: 如果对空文本输入退格字符,文本继续为空。
示例 1:
输入: s = "ab#c", t = "ad#c"
输出: true
解释: s 和 t 都会变成 "ac"。
示例 2:
输入: s = "ab##", t = "c#d#"
输出: true
解释: s 和 t 都会变成 ""。
示例 3:
输入: s = "a#c", t = "b"
输出: false
解释: s 会变成 "c",但 t 仍然是 "b"。
提示:
1 <= s.length, t.length <= 200s和t只含有小写字母以及字符'#'
二、思路分析
- 利用栈的思想解决,入栈和出栈
三、代码答案
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var backspaceCompare = function (s, t) {
const a = getStr(s)
const b = getStr(t)
return a === b
};
function getStr(s) {
const arr = []
for (var i = 0; i < s.length; i++) {
if (s[i] === "#") {
arr.pop()
} else {
arr.push(s[i])
}
}
return arr.join("")
}