匹配问题都是栈的强项
这里就用的是栈的匹配问题。
循环遍历每一个字符串如果如果当前字符和栈顶不一样就放入栈顶,或者栈顶为空,放入栈顶,如果一样就弹出栈顶。
class Solution {
public:
string removeDuplicates(string s) {
stack<char>st;
for(auto a:s){
if(st.empty()||st.top()!=a){
st.push(a);
}
else st.pop();
}
string res;
while(!st.empty()){
res=st.top()+res;
st.pop();
}
return res;
}
};