题解 | #有效括号序列#

有效括号序列

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

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    //用栈的先进后出来保证括号的匹配 *********
    //用一个栈把左括号存起来 再遍历字符串 遇到右括号则pop出匹配的左括号
    // stackpop完则说明
    bool isValid(string s) {
        // write code here
        stack<char> s1;
        for(size_t i = 0;i<s.size();i++)
        {
            switch (s[i]) {
                case '(':
                case '{':
                case '[':
                    s1.push(s[i]);
                    break;
                case ')':
                    if(s1.empty() || s1.top()!='(')
                    return false;
                s1.pop();
                break;
                case '}':
                    if(s1.empty() || s1.top()!='{')
                    return false;
                s1.pop();
                break;
                 case ']':
                    if(s1.empty() || s1.top()!='[')
                    return false;
                s1.pop();
                break;
            }
        }
        return s1.empty();
    }
};

括号匹配问题:

遍历所给的字符串,用一个栈将左括号存起来(栈的特性可以保证左右括号的匹配),遇到右括号则判断栈是否为空或者为相应的左括号。是的话将栈顶元素弹出,继续遍历,不是相应的左括号或者栈为空则return false。

全部评论

相关推荐

这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
05-19 15:21
已编辑
门头沟学院 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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