1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)
仅仅看代码可能有点抽象
建议看看视频
栈的好戏还要继续!| LeetCode:1047. 删除字符串中的所有相邻重复项_哔哩哔哩_bilibili
class Solution { public: string removeDuplicates(string s) { stack<char>st; for(auto a:s) { if(st.empty()||a!=st.top()) { st.push(a); } else { st.pop(); } } string result; while(!st.empty())//栈不为空 { result+=st.top(); st.pop(); } reverse(result.begin(),result.end()); return result; } };
因为从栈里弹出的元素是倒序的,所以再对字符串进行反转一下,就得到了最终的结果。