思想:使用栈来存储最近访问过的元素。string尾部就是栈顶,可访问最近访问过的字符,后入先出。具体思想直接参考
【栈的好戏还要继续!| LeetCode:1047. 删除字符串中的所有相邻重复项】
string方法API,记住:和vector差不多用法!都有push_back和pop_back,front,back方法!
class Solution {
public:
string removeDuplicates(string s) {
string stk;
for(const char& c:s){
if(!stk.empty()){
char ch=stk.back();
if(ch==c){
stk.pop_back();
}else{
stk.push_back(c);
}
}else{
stk.push_back(c);
}
}
return stk;
}
};