【剑斩OFFER】算法的暴力美学——力扣:1047 题:删除字符串中的所有相邻重复项

一、题目描述

二、算法原理

思路:使用 string 模拟栈结构

如果栈顶的字符和遍历字符串中的字符不一样就直接入栈,否则就让栈顶元素出栈,直到遍历到字符串的最后一个字符。

三、代码实现

cpp 复制代码
class Solution {
public:
    string removeDuplicates(string s) {
        if(s.empty()) return s;
        string ret;//模拟栈结构
        for(auto& e : s)
        {
            if(ret.empty()) ret += e;
            else
            {
                if(ret.back() == e) ret.pop_back();//相同字串出栈
                else ret += e;
            }
        }
        return ret;
    }
};
相关推荐
HXhlx1 小时前
CART决策树基本原理
算法·机器学习
Wect1 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱2 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
肆忆_5 小时前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星9 小时前
虚函数表:C++ 多态背后的那个男人
c++
Gorway9 小时前
解析残差网络 (ResNet)
算法
拖拉斯旋风9 小时前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用
算法
Wect9 小时前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
前端·算法·typescript
灵感__idea1 天前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
Wect1 天前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript