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

javascript 复制代码
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('');
};
相关推荐
小王不爱笑1321 天前
IO 模型
开发语言·python
知我Deja_Vu1 天前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
AI+程序员在路上1 天前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
2401_831824961 天前
基于C++的区块链实现
开发语言·c++·算法
qq_406176141 天前
深入浅出 Pinia:Vue3 时代的状态管理新选择
javascript·vue.js·ecmascript
m0_518019481 天前
C++与机器学习框架
开发语言·c++·算法
ZTLJQ1 天前
深入理解逻辑回归:从数学原理到实战应用
开发语言·python·机器学习
qq_417695051 天前
C++中的代理模式高级应用
开发语言·c++·算法
德育处主任Pro1 天前
前端元素转图片,dom-to-image-more入门教程
前端·javascript·vue.js
波波0071 天前
每日一题:.NET 中的“反射”是什么?
开发语言·.net