leetcode 844 比较含退格的字符串

91 阅读1分钟

解法: 栈思想

思路:利用栈的思想,遍历字符串,如果遇到‘#’,就栈顶出栈,否则就入栈,最后返回join后的字符串,即我们可以用来比较是否相等的字符串

时间复杂度: O(n), 空间复杂度 O(1)

var backspaceCompare = function(s, t) {
    function stringHandler (str) {
        let stack = []
        for (let i = 0; i < str.length; i++) {
            if (str[i] === '#') {
                stack.pop()
            } else {
                stack.push(str[i])
            }
        }
        return stack.join('')
    }
    return stringHandler(s) === stringHandler(t)
};