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√:

stackres; //definite a 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的主要内容,如果未能解决你的问题,请参考以下文章

20. Valid Parentheses做题报告

20_Valid-Parentheses

#20 Valid Parentheses

20. Valid Parentheses

#Leetcode# 20.Valid Parentheses

LeetCode - 20. Valid Parentheses