1047. Remove All Adjacent Duplicates In String
class Solution {
public:
    string removeDuplicates(string s) {
         stack<pair<char, int>> main;
        for(auto ch : s){
            if(!main.empty() && main.top().first == ch) {
                main.top().second++;
            }
            else{
                main.push({ch, 1});
            }
            if(main.top().second == 2) main.pop();
        }
        string str;
        while(!main.empty()) {
            str += main.top().first;
            main.pop();
        }
        reverse(str.begin(), str.end());
        return str;
    }
};
Comments (0)