Balanced Brackets

  • + 0 comments
    string isBalanced(string s) {
        unordered_map<char, char> map = {
            {'(', ')'},
            {'{', '}'},
            {'[', ']'}
        };
        
        stack<char> sc;
        for (char c : s) {
            if (map.count(c))
                sc.push(map[c]);
            else {
                if (sc.empty() || sc.top() != c)
                    return "NO";
                sc.pop();
            }
        }
        
        return (sc.empty()) ? "YES" : "NO";
    }