leetcode20 有效的括号

一个字,栈,遇到左边的入栈,遇到右边的首先判断是否为空栈,如果为空,返回false,然后判断是否为对应的右括号,如果是,继续,如果不是,古德拜。贴代码

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

 

posted @ 2021-03-27 15:40  zhaohhhh  阅读(43)  评论(0)    收藏  举报