20. Valid Parentheses
Posted forprometheus-jun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20. Valid Parentheses相关的知识,希望对你有一定的参考价值。
description:
check whether the (){}[] is valid(is pair)
Note:
Example:
Example 1:
Input: "()"
Output: true
Example 2:
Input: "()[]{}"
Output: true
Example 3:
Input: "(]"
Output: false
Example 4:
Input: "([)]"
Output: false
Example 5:
Input: "{[]}"
Output: true
my answer:
my answer
一眼想到堆栈,奈何堆栈没有想起我,堆栈的用法get一下ok吧...
大佬的answer:
class Solution {
public:
bool isValid(string s) {
stack<char> res;
for(int i = 0; i < s.size(); ++i){
if(s[i] == '(' || s[i] == '[' || s[i] == '{') res.push(s[i]);
else{
if(res.empty()) return false;
if(s[i] == ')' && res.top() != '(')return false;
if(s[i] == ']' && res.top() != '[')return false;
if(s[i] == '}' && res.top() != '{')return false;
res.pop();
}
}
return res.empty();
}
};
relative point get√:
stack
stack.top(); // the element on the top of the stack
stack.push(xxx); // push a element on the top of the stack
stack.pop(); // pop the element on the top of the stack
stack.empty();
hint :
以上是关于20. Valid Parentheses的主要内容,如果未能解决你的问题,请参考以下文章