LeetCode (Valid Parentheses)

Problem:

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.

Solution:

class Solution {
public:
    bool isValid(string s) {
        stack res;
        for (int i = 0; i < s.size(); i++){
            if (s[i] == '(')
                res.push(')');
            else if (s[i] == '{')
                res.push('}');
            else if (s[i] == '[')
                res.push(']');
            else if (res.empty()||res.top() != s[i])
                return false;
            else
                res.pop();
        }
        return res.empty();
    }
};


你可能感兴趣的:(C++)