21
04/2015
[LeetCode] 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) { int len=s.length(); stack<char> st; for(int i=0; i<len; i++){ switch(s[i]){ case '(': case '{': case '[': st.push(s[i]); break; case '}': if(st.empty()||st.top()!='{'){ return false; } st.pop(); break; case ']': if(st.empty()||st.top()!='['){ return false; } st.pop(); break; case ')': if(st.empty()||st.top()!='('){ return false; } st.pop(); break; default: return false; } } return st.empty(); } };
转载请注明:康瑞部落 » [LeetCode] Valid Parentheses
0 条评论