☰
LeetCode.1047.删除字符串中的所有相邻重复项
2026/10/3 12:50:01 网站建设 项目流程

题目

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

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

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

就是用栈去遍历,碰上与栈顶相同的就把栈顶一同出栈。

最后从栈变成字符串的过程可以学习一下。

class Solution { public: string removeDuplicates(string s) { stack<char> st; for (int i = 0; i < s.size(); i++) { if (st.empty() || s[i] != st.top()) { st.push(s[i]); }else { st.pop(); } } string result = ""; while (!st.empty()) { // 将栈中元素放到result字符串汇总 result += st.top(); st.pop(); } reverse (result.begin(), result.end()); // 此时字符串需要反转一下 return result; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询