前端数据结构与算法每日一题——栈(1047. 删除字符串中的所有相邻重复项)

101 阅读1分钟

题目

解法一:

/**
 * @param {string} s
 * @return {string}
 */
var removeDuplicates = function(s) {
    let stack = []
    //循环字符串
    for(let i of s){
    //将栈尾弹出,如果循环的元素和删除的元素不相等,那么把删除的元素也推入栈中,循环的元素也推入栈中,相等的话就不做任何操作
        let peek = stack.pop()
        if( i!= peek){
            stack.push(peek)
            stack.push(i)
        }
    }
    //最后将数组返回字符串
   return stack.join('')
};