[leetcode] 20 Valid Parentheses
2015-02-11 18:23
381 查看
Given a string containing just the characters
determine if the input string is valid.
The brackets must close in the correct order,
all valid but
not.
easy的题目,相对来说比较简答,主要思想是利用栈来解决:
1. 左括号入栈,右括号与栈顶左括号比较,不相符即报错,相符将栈顶弹出;
2. 同时注意栈空否的状态
class Solution {
public:
bool isValid(string s) {
int len= s.length();
if(len% 2== 1) return false;
stack <char> vp;
for(int i= 0; i< len; i++){
if(s[i]=='(' || s[i]=='{' || s[i]=='['){
vp.push(s[i]);
}
else if(s[i]== ')'){
if(vp.empty()) return false;
if(vp.top()== '('){
vp.pop();
}
else{
return false;
}
}
else if(s[i]== '}'){
if(vp.empty()) return false;
if(vp.top()== '{'){
vp.pop();
}
else{
return false;
}
}
else if(s[i]== ']'){
if(vp.empty()) return false;
if(vp.top()== '['){
vp.pop();
}
else{
return false;
}
}
}
if(!vp.empty()) return false;
return true;
}
};
'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
easy的题目,相对来说比较简答,主要思想是利用栈来解决:
1. 左括号入栈,右括号与栈顶左括号比较,不相符即报错,相符将栈顶弹出;
2. 同时注意栈空否的状态
class Solution {
public:
bool isValid(string s) {
int len= s.length();
if(len% 2== 1) return false;
stack <char> vp;
for(int i= 0; i< len; i++){
if(s[i]=='(' || s[i]=='{' || s[i]=='['){
vp.push(s[i]);
}
else if(s[i]== ')'){
if(vp.empty()) return false;
if(vp.top()== '('){
vp.pop();
}
else{
return false;
}
}
else if(s[i]== '}'){
if(vp.empty()) return false;
if(vp.top()== '{'){
vp.pop();
}
else{
return false;
}
}
else if(s[i]== ']'){
if(vp.empty()) return false;
if(vp.top()== '['){
vp.pop();
}
else{
return false;
}
}
}
if(!vp.empty()) return false;
return true;
}
};
相关文章推荐
- leetcode 20 Valid Parentheses
- LeetCode 20 : Valid Parentheses (Java)
- Leetcode 20 Valid Parentheses stack的应用
- LeetCode_Easy心得:20. Valid Parentheses(C语言)
- [LeetCode] 20. Valid Parentheses 合法括号
- LeetCode20 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
- 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