【剑斩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;
    }
};
相关推荐
生态学者1 小时前
Global Change Biology | 森林越“步调一致”,反而越怕干旱?树木生长与叶片活动的同步之谜
大数据·人工智能·算法·r语言·微信公众平台
所以遗憾是什么呢?1 小时前
【题解】Educational Codeforces Round 195 (Rated for Div. 2) ABCDE
c++·动态规划·acm·icpc·ccpc·xcpc·codeforecs
lsswear2 小时前
Agent 框架新手入门与实战部署指南
大数据·人工智能·算法
考研保研资料分享3 小时前
2022编辑出版跨保西北大学中国史:五校面试与九月补材料
面试·职场和发展
Lhan.zzZ3 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
Data analyse4563 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
员工风险管理实务4 小时前
职务侵占有什么价值?岗位关联性与必要性判断
职场和发展
sysu_chenxy5 小时前
二重循环输出二维图形
c++
Navigator_Z5 小时前
LeetCode //C - 1293. Shortest Path in a Grid with Obstacles Elimination
c语言·算法·leetcode
Nil2085 小时前
leetcode 64最小路径和
算法·leetcode·职场和发展