LeetCode 020 Valid Parentheses

题目描述: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) {

        

        string left = "([{";

        string right = ")]}";

        stack<char> stk;

        

        for(auto c : s){

            

            //如果是"([{",则压入栈中

            if(left.find(c) != string::npos){

                stk.push(c);

            }

            //如果不是"([{",则匹配

            else{

                if(stk.empty() || stk.top() != left[right.find(c)])

                    return false;

                else stk.pop();

            }

        }

        

        return stk.empty();

        

    }

};

 

你可能感兴趣的:(LeetCode)