首页 > 代码库 > 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.
题解: 典型的STL stack 应用。注意边界条件。
1 class Solution { 2 public: 3 bool isValid(string s) { 4 stack<char> st; 5 if(s.size()<=1 || s.size()%2) return false; 6 7 for(int i=0;i<s.size();i++) 8 { 9 if(s[i]==‘(‘ || s[i]==‘[‘ || s[i]==‘{‘) st.push(s[i]);10 else if(st.empty())11 {12 return false;13 }14 else15 {16 if( (s[i]==‘)‘ && st.top()==‘(‘) ||17 (s[i]==‘]‘ && st.top()==‘[‘) ||18 (s[i]==‘}‘ && st.top()==‘{‘) )19 st.pop();20 else21 return false;22 }23 }24 if(!st.empty()) return false;25 else return true; 26 }27 };
转载请注明出处: http://www.cnblogs.com/double-win/ 谢谢!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。