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;
    }
}
相关推荐
Sylvia-girl几秒前
IO流~~
java·开发语言
铉铉这波能秀5 分钟前
LeetCode Hot100数据结构背景知识之元组(Tuple)Python2026新版
数据结构·python·算法·leetcode·元组·tuple
晚霞的不甘11 分钟前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
冰暮流星13 分钟前
javascript之数组
java·前端·javascript
Re.不晚16 分钟前
JAVA进阶之路——无奖问答挑战3
java·开发语言
㓗冽26 分钟前
60题之内难题分析
开发语言·c++·算法
大江东去浪淘尽千古风流人物27 分钟前
【VLN】VLN仿真与训练三要素 Dataset,Simulators,Benchmarks(2)
深度学习·算法·机器人·概率论·slam
不倒翁玩偶35 分钟前
IDEA导入新的SpringBoot项目没有启动按钮
java·spring boot·intellij-idea
静听山水44 分钟前
Redis核心数据结构-ZSet
数据结构·redis
小小小米粒1 小时前
Maven Tools
java