LeetCode 20. Valid Parentheses(c++)

Posted y1040511302

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 20. Valid Parentheses(c++)相关的知识,希望对你有一定的参考价值。

利用栈的操作,遇到"(","[","{"即进栈,遇到")","]","}"判断是否与栈顶匹配,若不匹配则false。

class Solution {
public:
    bool isValid(string s) {
        stack<char> c;
        for(int i=0;i<s.size();i++){
            if(!c.empty()){
            if(s[i]==(||s[i]=={||s[i]==[)
                c.push(s[i]);
            else if(s[i]==)){
                if(c.top()==() c.pop();
                else return false;
            }
            else if(s[i]==}){
                if(c.top()=={) c.pop();
                else return false;
            }
            else if(s[i]==]){
                if(c.top()==[) c.pop();
                else return false;
            }
            }
            else c.push(s[i]);
        }
        if(!c.empty()) return false;
        return true;
    }
};

 

以上是关于LeetCode 20. Valid Parentheses(c++)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode - 20. Valid Parentheses

leetcode20. Valid Parentheses

[LeetCode]20. Valid Parentheses

[LeetCode]20 Valid Parentheses 有效的括号

LeetCode OJ 20Valid Parentheses

Leetcode 20. Valid Parentheses