一、题目描述:
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
注意:如果对空文本输入退格字符,文本继续为空。
提示:
- 1 <= S.length <= 200
- 1 <= T.length <= 200
- S 和 T 只含有小写字母以及字符 '#'。
示例 1:
输入:S = "ab#c", T = "ad#c"
输出:true
解释:S 和 T 都会变成 “ac”。
示例 2:
输入:S = "ab##", T = "c#d#"
输出:true
解释:S 和 T 都会变成 “”。
二、思路分析:
这几天都在刷栈,这个典型的栈思维。
遇到#,出栈,不是就进栈
三、AC 代码:
var backspaceCompare = function(S, T) {
const getStr = (str)=>{
let res = []
str.split('').forEach(item=>item==='#'?res.pop():res.push(item))
return res.join('')
}
return getStr(S) === getStr(T)
};
四、总结:
- 遇到将最后一个扔出去的情景,想想栈