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;
}
};
因为从栈里弹出的元素是倒序的,所以再对字符串进行反转一下,就得到了最终的结果。