您的位置:首页 > 其它

20. Valid Parentheses--合法的括号组合(使用stack)

2016-11-23 14:39 405 查看
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) {
stack<char> mystack;
for(int i = 0; i < s.size(); ++i){
if(s[i]=='('||s[i]=='['||s[i]=='{')
mystack.push(s[i]);
else{
if(mystack.size()==0) return false;
char tmp = mystack.top();
if((tmp=='('&&s[i]==')')||(tmp=='['&&s[i]==']')||(tmp=='{'&&s[i]=='}'))
mystack.pop();
else return false;
}
}
if(mystack.size()>0)
return false;
return true;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode stack