牛客:AB5 点击消除
链接:点击消除_牛客题霸_牛客网
题解:
利用栈,遍历输入的字符串,栈为空则入栈,栈不为空则去除栈顶字符和当前遍历到的字符比较,相等则栈顶字符出栈,当前遍历的字符也不入栈,不相等则入栈。
#include <iostream>
#include <stack>
#include <string>
using namespace std;
class Solution
{
public:void test(){stack<char> sc;string s;getline(cin, s);for (auto& c : s){if (!sc.empty()){if (sc.top() != c)//不同字符{sc.push(c);}else//相同字符 {sc.pop();}}else {sc.push(c);}}if (sc.empty()){cout << 0 << endl;}else {string ans;while (!sc.empty()){char c = sc.top();sc.pop();ans.insert(ans.begin(), c);}cout << ans << endl;}}
};
int main() {Solution().test();
}