20. Valid Parentheses
2016-11-07 00:10
218 查看
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.
思路:如果字串是 "(" or "{" or "[" 都先放到Stack 中,等到下一個如果是 ")" or "}" or "]" 就從Stack pop出來比對是不是配對的括號
class Solution {
public:
bool isValid(string s) {
stack<char> _stack;
for(int index = 0; index < s.size() ; index++) {
if(s.at(index) == '(' || s.at(index) == '[' || s.at(index) == '{') {
_stack.push(s.at(index));
}
if(s.at(index) == ')') {
if(_stack.size()==0 || _stack.top() != '(') {
return false;
} else {
_stack.pop();
}
}
if(s.at(index) == ']') {
if(_stack.size()==0 ||_stack.top() != '[') {
return false;
} else {
_stack.pop();
}
}
if(s.at(index) == '}') {
if(_stack.size()==0 ||_stack.top() != '{') {
return false;
} else {
_stack.pop();
}
}
}
return _stack.size() == 0? true:false;
}
};
'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
思路:如果字串是 "(" or "{" or "[" 都先放到Stack 中,等到下一個如果是 ")" or "}" or "]" 就從Stack pop出來比對是不是配對的括號
class Solution {
public:
bool isValid(string s) {
stack<char> _stack;
for(int index = 0; index < s.size() ; index++) {
if(s.at(index) == '(' || s.at(index) == '[' || s.at(index) == '{') {
_stack.push(s.at(index));
}
if(s.at(index) == ')') {
if(_stack.size()==0 || _stack.top() != '(') {
return false;
} else {
_stack.pop();
}
}
if(s.at(index) == ']') {
if(_stack.size()==0 ||_stack.top() != '[') {
return false;
} else {
_stack.pop();
}
}
if(s.at(index) == '}') {
if(_stack.size()==0 ||_stack.top() != '{') {
return false;
} else {
_stack.pop();
}
}
}
return _stack.size() == 0? true:false;
}
};
相关文章推荐
- 20. Valid Parentheses
- 20. Valid Parentheses
- leetcode之top100_01_twoSsum/top100_20_ValidParentheses
- 20. Valid Parentheses \ 71. Simplify Path
- 20 Valid Parentheses
- LeetCode 20: Valid Parentheses
- Leetcode 题目 20. Valid Parentheses(个人错误分析)
- LeetCode-20.Valid Parentheses
- 【leetcode】20. Valid Parentheses
- 20. Valid Parentheses-leetcode-java
- 20. Valid Parentheses
- 20. Valid Parentheses ★
- LeetCode 20 Valid Parentheses
- LeetCode 20 Valid Parentheses(括号匹配)
- LeetCode20 Valid Parentheses的java 题解
- 20. Valid Parentheses [easy] (Python)
- 【leetcode】20. Valid Parentheses
- Easy 5 Valid Parentheses(20)
- Leetcode 20 Valid Parentheses
- Leetcode题解 - 20. Valid Parentheses