首页 > 代码库 > [LeetCode] Valid Parentheses

[LeetCode] 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.

方法:用stack<char> 进行配对即可。

 

class Solution {public:    bool isValid(string s) {        int len = s.size();        if(len==0)            return true;        else if(s[0]==)|| s[0]==]|| s[0]==})            return false;        stack<char> st;        for(int i=0;i<len;i++){            if(st.empty()){                st.push(s[i]);            }else if((s[i]==} && st.top()!={)||(s[i]==) && st.top()!=()||(s[i]==] && st.top()!=[)){                return false;            }else if((s[i]==} && st.top()=={)||(s[i]==) && st.top()==()||(s[i]==] && st.top()==[)){                st.pop();            }else{                st.push(s[i]);            }        }//end for        if(st.empty())            return true;        else            return false;    }//end func    };

 

[LeetCode] Valid Parentheses