leetcode-20-Valid Parentheses
2017-03-03 17:19
387 查看
问题
题目:[leetcode-20]思路
正常的匹配我就不说了,考虑两种特殊情形。左括号个数大于右括号,当之前匹配成功的时候,最优的左括号会多。
右括号个数大于左括号时,当之前匹配成功的时候,栈会提前为空。
给你“]”这种数据。
代码
class Solution { public: bool isValid(string s) { int sz = s.size(); if(!sz) return 0; stack<char> stk; for(int i = 0; i < sz; ++i){ if( s[i] == '(' || s[i] == '[' || s[i] == '{' ) stk.push(s[i]); else{ if(stk.empty()) return false; char& top = stk.top(); if( s[i] == ')' ){ if(top == '(') stk.pop(); else return false; } else if( s[i] == ']' ){ if(top == '[') stk.pop(); else return false; } else{ if( top =='{' ) stk.pop(); else return false; } } } return stk.empty(); } };
相关文章推荐
- LeetCode 20 Valid Parentheses
- LeetCode 20. Valid Parentheses--验证括号是否有效
- LeetCode 20:Valid Parentheses
- LeetCode 20. Valid Parentheses
- [勇者闯LeetCode] 20. Valid Parentheses
- leetcode 20. Valid Parentheses
- Leetcode 20 Valid Parentheses
- LeetCode--20. Valid Parentheses
- (Java)LeetCode-20. Valid Parentheses
- Leetcode 20 Valid Parentheses
- [leetcode] 20.Valid Parentheses
- leetcode 20 Valid Parentheses C++
- Leetcode 题目 20. Valid Parentheses(个人错误分析)
- Leetcode[20]-Valid Parentheses
- [leetcode]20. Valid Parentheses
- LeetCode 20. Valid Parentheses
- leetcode --20. Valid Parentheses
- LeetCode 20 Valid Parentheses(有效的括号)
- Leetcode 20 Valid Parentheses
- leetcode 20. Valid Parentheses