leetcode29( 有效的括号)

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

有效字符串需满足:

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

示例 1:

**输入:**s = "()"

**输出:**true

思路:将待匹配的左侧符号入栈,遇到右侧符号时弹出匹配,如果匹配失败立刻返回false

如果遍历结束,依然有左侧符号未被弹出,返回false

长为0和1的单独处理

java 复制代码
class Solution {
    public boolean isValid(String s) {
            if(s == null || s.length() == 0) return true;
        if(s.length()==1) return false;
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '(' || c == '{' || c == '[') {
                stack.push(c);
            }
            else if (c == ')' ) {
                if (stack.isEmpty()) {
                    return false;
                }
                else {
                    char top = stack.pop();
                    if (top != '(') {
                        return false;
                    }
                }
            }
            else if (c == '}' ) {
                if (stack.isEmpty()) {
                    return false;
                }
                else {
                    char top = stack.pop();
                    if (top != '{') {
                        return false;
                    }
                }
            }
            else if (c == ']' ) {
                if (stack.isEmpty()) {
                    return false;
                }
                else {
                    char top = stack.pop();
                    if (top != '[') {
                        return false;
                    }
                }
            }
        }
            if(stack.isEmpty()) return true;
        return false;
    }
}
相关推荐
小江的记录本18 小时前
【Transformer架构】Transformer架构核心知识体系(包括自注意力机制、多头注意力、Encoder-Decoder结构)
java·人工智能·后端·python·深度学习·架构·transformer
小松加哲18 小时前
深入剖析Tomcat原理
java·tomcat
嘻嘻哈哈樱桃18 小时前
俄罗斯套娃信封问题力扣--354
算法·leetcode·职场和发展
田梓燊18 小时前
2026/4/12 leetcode 1320
算法·leetcode·职场和发展
j_xxx404_18 小时前
力扣题型--链表(两数相加|两两交换链表中的节点|重排链表)
数据结构·c++·算法·leetcode·蓝桥杯·排序算法
AI科技星19 小时前
v=c 物理理论核心参数转换表达式大全
开发语言·线性代数·算法·数学建模·平面
三原19 小时前
附源码:三原管理系统新增俩种常用布局
java·前端·vue.js
現実君19 小时前
现代化嵌入式AI编程-IDEA指南
java·intellij-idea·ai编程
Java面试题总结19 小时前
2026年Java面试题最新整理,附白话答案
java·开发语言·jvm·笔记·spring·intellij-idea
芒果披萨19 小时前
日志管理 logging
java·开发语言·c++