刷leetcode-比较含退格的字符串 | 刷题打卡

74 阅读1分钟

一、题目描述:

原题地址

给定 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)
};

四、总结:

  • 遇到将最后一个扔出去的情景,想想栈