leetcode 1047. 删除字符串中的所有相邻重复项

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

给出由小写字母组成的字符串 S重复项删除操作会选择两个相邻且相同的字母,并删除它们。

在 S 上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

示例:

复制代码
输入:"abbaca"
输出:"ca"
解释:
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
cpp 复制代码
class Solution {
public:
    string removeDuplicates(string s) {
        string res;
        for(char c : s) {
            if(res.empty() || c!=res.back()) res.push_back(c);
            else res.pop_back();
        }
        return res;
    }
};

封面图片来自代码随想录的视频讲解

相关推荐
goTsHgo3 小时前
完整的类在JVM中的生命周期详解
java·开发语言·算法
LuckyLay4 小时前
LeetCode算法题(Go语言实现)_08
算法·leetcode·职场和发展·golang
一只_程序媛4 小时前
【leetcode hot 100 78】子集
算法·leetcode·职场和发展
小丽今天学代码了吗4 小时前
练习-班级活动(map存储键值对)
数据结构·算法
Aurora_wmroy5 小时前
算法竞赛备赛——【数据结构】链表
数据结构·c++·算法·链表·蓝桥杯
每次的天空5 小时前
Android第五次面试总结(HR面)
android·面试·职场和发展
ん贤5 小时前
单调栈详解【C/C++】
数据结构·c++·算法·贪心算法·单调栈
空雲.5 小时前
ABC 373
算法·深度优先
点云登山者6 小时前
登山第二十梯:无人机实时自主探索——我是一只小小小鸟
算法·计算机视觉·机器人·无人机·路径规划·激光点云·自主探索
大胆飞猪6 小时前
优选算法训练篇08--力扣15.三数之和(难度中等)
算法·leetcode