力扣20. 有效的括号

20. 有效的括号

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

复制代码
输入:s = "()"
输出:true

示例 2:

复制代码
输入:s = "()[]{}"
输出:true

示例 3:

复制代码
输入:s = "(]"
输出:false

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成
java 复制代码
class Solution {
    public boolean isValid(String s) {
        Stack st=new Stack<Character>();
        char[]ca=s.toCharArray();
        for(int i=0;i<ca.length;i++){
            if(ca[i]=='('||ca[i]=='{'||ca[i]=='[')
                st.push(ca[i]);
            else{
                if(st.empty()){
                    return false;
                }
                switch ((char)st.pop()){
                    case '(':
                        if(ca[i]!=')')
                            return false;
                        break;
                    case '[':
                        if(ca[i]!=']')
                            return false;
                        break;
                    case '{':
                        if(ca[i]!='}')
                            return false;
                        break;
                }
            }
        }
        return st.empty();
    }
}
相关推荐
C_心欲无痕7 分钟前
有限状态机在前端中的应用
前端·状态模式
C_心欲无痕13 分钟前
前端基于 IntersectionObserver 更流畅的懒加载实现
前端
candyTong19 分钟前
深入解析:AI 智能体(Agent)是如何解决问题的?
前端·agent·ai编程
期待のcode23 分钟前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐26 分钟前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
柳杉29 分钟前
建议收藏 | 2026年AI工具封神榜:从Sora到混元3D,生产力彻底爆发
前端·人工智能·后端
weixin_4624462331 分钟前
使用 Puppeteer 设置 Cookies 并实现自动化分页操作:前端实战教程
运维·前端·自动化
a程序小傲35 分钟前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红36 分钟前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥38 分钟前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring