点击消除(栈的引用)
主要思路:定义一个栈,遍历入栈的字符串; 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;
}