题解 | #有效括号序列#

有效括号序列

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++在线编程练习题解

全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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