leetcode-有效括号序列-94

题目要求

思路

1.使用栈的先进后出的思路,存储前括号,如果st中有对应的后括号与之匹配就说明没问题

2.有两个特殊情况就是字符串第一个就是后括号,这个情况本身就是不匹配的,还有一种是前面的n个字符串本身是匹配的,这时候来了个后括号,这种也是不匹配的,这里的处理方法是,如果栈为空,不管这个字符是啥,都插入进去,最后只要判断栈是否为空就行,如果第一个字符串是后括号,最后栈肯定是不为空的。
代码实现

cpp 复制代码
class Solution {
public:
    stack<char> st;
    bool isValid(string s) {
        // write code here
        int size = s.size();
        for(int i = 0; i < size; i++)
        {
            if (s[i] == '[' || s[i] == '{' || s[i] == '(' || st.empty())
                st.push(s[i]);
            if (s[i] == ']')
            {
                if (st.top() == '[')
                    st.pop();
                else
                    return false;
            }
            if (s[i] == '}')
            {
                if (st.top() == '{')
                    st.pop();
                else
                    return false;
            }
            if (s[i] == ')')
            {
                if (st.top() == '(')
                    st.pop();
                else
                    return false;
            }
        }
        if(!st.empty())
            return false;

        return true;
    }
};
相关推荐
格林威32 分钟前
常规线扫描镜头有哪些类型?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
007php0071 小时前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
倔强青铜三1 小时前
苦练Python第63天:零基础玩转TOML配置读写,tomllib模块实战
人工智能·python·面试
倔强青铜三2 小时前
苦练Python第62天:零基础玩转CSV文件读写,csv模块实战
人工智能·python·面试
AAA修煤气灶刘哥2 小时前
服务器指标多到“洪水泛滥”?试试InfluxDB?
数据库·后端·面试
程序员莫小特2 小时前
老题新解|大整数加法
数据结构·c++·算法
uzong3 小时前
技术面试,时间不足15分钟,面试官就挂掉了电话,原因竟然是……
后端·面试
过往入尘土4 小时前
服务端与客户端的简单链接
人工智能·python·算法·pycharm·大模型
zycoder.4 小时前
力扣面试经典150题day1第一题(lc88),第二题(lc27)
算法·leetcode·面试
Dream it possible!4 小时前
LeetCode 面试经典 150_哈希表_存在重复元素 II(46_219_C++_简单)
leetcode·面试·散列表