#include <iostream>
#include <stack>
class Solution {
public:
std::string removeDuplicates(std::string s) {
std::stack<char> charStack;
for (char c : s) {
if (!charStack.empty() && charStack.top() == c) {
charStack.pop();
} else {
charStack.push(c);
}
}
std::string result;
while (!charStack.empty()) {
result = charStack.top() + result;
charStack.pop();
}
return result;
}
};
int main() {
Solution solution;
std::string input = "1047. Remove All Adjacent Duplicates In String";
std::string output = solution.removeDuplicates(input);
std::cout << "Input: " << input << std::endl;
std::cout << "Output: " << output << std::endl;
return 0;
}