当前位置: 首页 > article >正文

面试算法-47-有效的括号

题目

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

有效字符串需满足:

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

示例 1:

输入:s = “()”
输出:true

class Solution {
    public boolean isValid(String s) {
        LinkedList<Character> stack = new LinkedList<>();
        for (int i = 0; i < s.length(); i++) {
            switch (s.charAt(i)) {
                case '(':
                    stack.push('(');
                    break;
                case '[':
                    stack.push('[');
                    break;
                case '{':
                    stack.push('{');
                    break;
                case ')':
                    if (stack.isEmpty()) {
                        return false;
                    }
                    if (stack.pop() != '(') {
                        return false;
                    }
                    break;
                case ']':
                    if (stack.isEmpty()) {
                        return false;
                    }
                    if (stack.pop() != '[') {
                        return false;
                    }
                    break;

                case '}':
                    if (stack.isEmpty()) {
                        return false;
                    }
                    if (stack.pop() != '{') {
                        return false;
                    }
                    break;

                default:
                    break;
            }
        }
        return stack.isEmpty();
    }
}

http://www.kler.cn/a/274277.html

相关文章:

  • Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • 面向对象编程:原理、实践与应用
  • 第十五届蓝桥杯Scratch01月stema选拔赛—排序
  • “宏“知识详解
  • VSCode:Markdown插件安装使用 -- 最简洁的VSCode中Markdown插件安装使用
  • UIP协议栈 TCP通信客户端 服务端,UDP单播 广播通信 example
  • 基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的应用教程
  • Unity类银河恶魔城学习记录11-2 p104 Inventoty源代码
  • C++ Qt开发:QUdpSocket网络通信组件
  • Java安全 反序列化(1) URLDNS链原理分析
  • 基于51单片机PT100温度检测LCD1602显示(程序+原理图+PCB+仿真+全套资料)
  • ModbusTCP转Profinet网关高低字节交换切换
  • 接口和抽象类的区别
  • 深入探讨Python中的文件操作与文件IO操作【第141篇—Python实现】
  • 【Swing】Java Swing实现省市区选择编辑器
  • 第四百一十一回
  • Java基础-IO流
  • 详细了解CSS
  • 全国农产品价格分析预测可视化系统设计与实现
  • python Jira库如何修改一个issue的status
  • 差分【Java】
  • 富格林:曝光暗箱细节确保安全
  • PostgreSQL教程(四十四):参考命令(三)之服务器应用
  • Apache SeaTunnel MongoDB CDC 使用指南
  • 数据库四大特性的实现原理
  • 3月19日做题