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;
    }
};
相关推荐
kyriewen1 天前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
先吃饱再说1 天前
判断回文字符串,从一行代码到双指针优化
算法
她的男孩1 天前
后台接口加密别只会 HTTPS,ForgeAdmin 的 RSA + SM4/AES 源码拆解
后端·面试·开源
Randyliu1 天前
20260508-Agent搭建记录以及对ReAct框架的理解
面试·agent
ZzT1 天前
公司用 AI 筛简历,他写了个 AI 帮你挑公司
面试·aigc·ai编程
黄敬峰1 天前
深入理解算法核心:从递归思想、数组扁平化到快速排序
算法
PBitW1 天前
GPT训练我的第四天,被打惨了!!!😭😭😭
前端·javascript·面试
得物技术1 天前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
AI小老六1 天前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程