首页 > 学院 > 开发设计 > 正文

leetcode-20-Valid Parentheses

2019-11-06 08:06:02
字体:
来源:转载
供稿:网友

问题

题目:[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(); }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表