20、Valid Parentheses
有效的括号序列
给定一个字符串所表示的括号序列,包含以下字符:
'(', ')'
, '{'
, '}'
, '['
and ']'
, 判定是否是有效的括号序列。
样例
括号必须依照 "()"
顺序表示, "()[]{}"
是有效的括号,但 "([)]"
则是无效的括号。
分析:
使用栈,左括号进栈,右括号出栈,匹配则继续,不匹配则不符合
代码:
class Solution {
public:
bool isValid(string s) {
stack<char> k;
for(char c:s)
{
if(c=='(')
k.push(')');
else if(c=='{')
k.push('}');
else if(c=='[')
k.push(']');
else if(k.empty()||k.top()!=c)
return false;
else k.pop();
}
return k.empty();
}
};