力扣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();
    }
}
相关推荐
悟空瞎说13 小时前
Git 协作工作流详解:从个人单打独斗到规模化团队协同
前端·git
颜进强13 小时前
20-Spec-Kit Tasks 是怎么把技术方案拆成可执行任务的?
前端·后端·ai编程
程序员鱼皮13 小时前
Cursor 零基础实战教程,夯爆了!带你速通 6 大核心能力
前端·后端·ai编程
颜进强13 小时前
14-Spec-Kit、SDD 和 OpenSpec 到底有什么区别?其实核心思想都一样:先写清楚,再让 AI 干活
前端·后端·ai编程
颜进强13 小时前
16-Spec-Kit 是什么?先从整体流程机制讲起
前端·后端·ai编程
悟空瞎说13 小时前
QML 集成 WebView 开发桌面内嵌浏览器实战
前端
闪电悠米13 小时前
黑马点评-Redisson-02_reentrant_lock
java·spring boot·redis·分布式·缓存
云烟成雨TD13 小时前
Spring AI Alibaba 1.x 系列【67】ReactAgent SSE 流式输出
java·人工智能·spring
Delicate13 小时前
揭开JS深拷贝的底裤:从递归到循环引用的终极解法
javascript
前端与小赵13 小时前
快速生成安卓证书并打包生成安卓apk(保姆教程)
android·前端