思想:使用栈来存储最近访问过的元素。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;}
};