20. Valid Parentheses

Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

class Solution {
public:
    bool isValid(string s) {
        stack<char> st;

        for(auto c:s){
            if(c == '(' || c== '{' || c == '[')
                st.push(c);
            else if(c == ')' && !st.empty() && st.top() == '(')
                st.pop();
            else if(c == '}' && !st.empty() && st.top() == '{')
                st.pop();
            else if(c == ']' && !st.empty() && st.top() == '[')
                st.pop();
            else 
                return false;
        }
        return st.empty();
    }
};

results matching ""

    No results matching ""