【剑斩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;
    }
};
相关推荐
山甫aa6 分钟前
哈希集合-----从零开始的数据结构学习
数据结构·算法·哈希算法
say_fall8 分钟前
有关算法的简单数学问题
数据结构·c++·算法·职场和发展·蓝桥杯
Halo_tjn9 分钟前
Java 接口的定义重构学生管理系统
java·开发语言·算法
jimy110 分钟前
故事化叙事的软件/计算机历史节目---非常浪漫与传奇
职场和发展·生活
阿Y加油吧15 分钟前
栈的经典应用:从「有效括号」到「寻找两个正序数组的中位数」深度解析
开发语言·python·算法
阿Y加油吧26 分钟前
二分查找进阶:旋转排序数组的两道经典题深度解析
数据结构·算法
想带你从多云到转晴30 分钟前
05、数据结构与算法---栈与队列
java·数据结构·算法
無限進步D30 分钟前
蓝桥杯赛后总结
算法·蓝桥杯·竞赛
QuZero35 分钟前
ReentrantLock principle
java·算法
m0_7167652337 分钟前
数据结构--顺序表的插入、删除、查找详解
c语言·开发语言·数据结构·c++·学习·算法·visual studio