题解 | #有效括号序列#

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

#include <stack>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        for (auto c : s) {

            if (c == '(' || c == '[' || c == '{') {
                bracks.push(c);
            } else {
                if (bracks.empty()) {
                    return false;
                }
                // std::cout <<"c is: " << c << ",  brack top is " << bracks.top() << endl;
                switch (c) {
                    case ')':
                        if ('(' == bracks.top()) {
                            bracks.pop();
                        } else {
                            return false;
                        }
                        break;
                    case ']':
                        if ('[' == bracks.top()) {
                            bracks.pop();
                        } else {
                            return false;
                        }
                        break;
                    case '}':
                        if ('{' == bracks.top()) {
                            bracks.pop();
                        } else {
                            return false;
                        }
                        break;
                    default:
                        break;
                }

            }
        }
        if (bracks.empty()) {
            return true;
        } else {
            return false;
        }
    }
  private:
    stack<char> bracks;
};

在线编程练习 文章被收录于专栏

C++在线编程练习题解

全部评论

相关推荐

梦倩倩:同学,瞅瞅我司,医疗独角兽,校招刚开,名额有限,先到先得,****最新动态,绿灯直达,免笔试~
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务