美文网首页
leetcode-day7-比较含退格的字符串[844题]

leetcode-day7-比较含退格的字符串[844题]

作者: 孙静静 | 来源:发表于2020-10-19 10:15 被阅读0次
image.png

利用栈的先进后出,遍历字符串,当遇到字符为 ‘#’,则删掉前一个进栈的元素,最后将栈转为字符串str,传入S, T,进行比较

/**
 * @param {string} S
 * @param {string} T
 * @return {boolean}
 */
var backspaceCompare = function(S, T) {
    if(!S && !T) return true; // 两者皆为空,则返回true
    if(!S || !T) return false; // 两者只有一个为空,则返回false
    function getRes(N){ // 利用栈的先进后出,遍历字符串,当遇到字符为 ‘#’,则删掉前一个进栈的元素,最后转为字符串str
        let stack = [], str = '';
        for(let i=0;i<N.length;i++){
            let item = N[i];
            if(item === '#'){
                stack.pop();
            } else {
                stack.push(item);
            }
        }
       while(stack.length > 0){
           str += stack.pop();
       }
       return str;
    }
    return getRes(S) === getRes(T) ? true : false;
};

相关文章

网友评论

      本文标题:leetcode-day7-比较含退格的字符串[844题]

      本文链接:https://www.haomeiwen.com/subject/ckhkmktx.html