LeetCode1047删除字符串中的所有相邻重复项

LeetCode1047删除字符串中的所有相邻重复项_第1张图片

var removeDuplicates = function(s) {
    //设置一个空数组来储存一个字符串
    let stack = [];
    //使用 for...of 循环遍历字符串 s 中的每一个字符,当前字符存储在变量 v 中
    for(v of s){
        //从栈顶弹出一个元素(即最后一个压入的元素),存储在 prev 变量中
       //如果栈是空的,pop() 会返回 undefined
        let prev = stack.pop();

        //比较弹出的前一个字符 prev 和当前字符 v
        //如果它们不相同,就把prev和v都重新装进这个栈
        //如果相同,if语句就不用执行,就等于
        if(prev != v) {
            stack.push(prev);
            stack.push(v);
        }
    }
    //最后得出的结果的字符串
    return stack.join('');
};

LeetCode1047删除字符串中的所有相邻重复项_第2张图片

LeetCode1047删除字符串中的所有相邻重复项_第3张图片

你可能感兴趣的:(javascript,开发语言,ecmascript)