1047. Remove All Adjacent Duplicates In String solution leetcode in c++

#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;
}