点击消除(栈的引用)

主要思路:定义一个栈,遍历入栈的字符串; 1.栈中不为空并且栈顶的元素与此时要入栈的元素相同,就进行消除操作(删除栈顶的元素).2.最后,逆序打印出栈中剩余的元素

#include<bits/stdc++.h>
#include<iostream>
using namespace std;

stack<char> sk;
string s,res;
int main() {
    cin >> s;
    for (int i = 0; i < s.length(); i++) {
        char c = s[i];
        if (!sk.empty() && sk.top() == c) {
            sk.pop();
        }else{
            sk.push(c);
        }
    }

    if (sk.empty()) {
        cout << 0 << endl;
    } else {
        
        while (!sk.empty()) {
            res=sk.top()+res;
            sk.pop();
        }
        cout << res;
    }

    return 0;
}