[路飞]_leetcode_844.比较含退格的字符串

76 阅读1分钟

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,请你判断二者是否相等。# 代表退格字符。

如果相等,返回 true ;否则,返回 false 。

注意:如果对空文本输入退格字符,文本继续为空。

解题思路

直接遍历每个字符串,将每个字符串的字符存到数组中,当碰到#时,删除数组中的最后一位。

代码

var backspaceCompare = function(s, t) {
    return stackHandle(s) === stackHandle(t)
};

var stackHandle = function(str) {
    let result = [];
    for (let s of str) {
        if (s == '#') {
            result.pop()
        } else {
            result.push(s)
        }
    }
    return result.join('');
}