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

Java数据结构应用(力扣题20. 有效的括号)

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

有效字符串需满足:

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

示例 1:

输入:s = "()"

输出:true

示例 2:

输入:s = "()[]{}"

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

创建一个栈,左括号入栈,右括号出栈,进行括号匹配的判断,注意最好要返回的是栈内元素的个数

class Solution {
     public  boolean isValid(String s) {
        char cz;
        Stack<Character> stack=new Stack();
     if(s==null||s.length()==0)
     {
         return true;
     }
     else{
         for (int i = 0; i < s.length(); i++) {
             char c=s.charAt(i);

             if(c=='{'||c=='['||c=='(')
             {
                 stack.push(c);//左括号入栈
             }
             else
             {
                 if(stack.isEmpty())
                 {
                     return false;
                 }
                 else
                     cz = stack.pop();
                 if(((cz=='{'&&c=='}')||(cz=='['&&c==']')||(cz=='('&&c==')')))
                 {
                       
             }
                 else
                     return false;
             }

         }

     }
        return stack.isEmpty();
    }
}


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

相关文章:

  • HTTP协议基础
  • vue3+element-plus==> el-form输入响应式失效踩坑!!!!!!!!!!
  • 万字长文解读深度学习——ViT、ViLT、DiT
  • AI 写作(五)核心技术之文本摘要:分类与应用(5/10)
  • Kafka参数了解
  • 28.医院管理系统(基于springboot和vue)
  • Excel 基础知识-操作手册1
  • 2024/9/16 dataloader、tensorboard、transform
  • 三十八、Go-redis快速入门
  • Celery的使用
  • C语言-结构体-详解
  • 阿里云 Quick BI使用介绍
  • 【系统架构设计师-2014年真题】案例分析-答案及详解
  • HTTPX 与 AIOHTTP 与 Requests:选择哪个?
  • 【个人博客hexo版】hexo安装时会出现的一些问题
  • 【Qt笔记】QToolBox控件详解
  • STL相关简介
  • TeamTalk梳理概括
  • JDBC注册驱动及获取连接
  • 【MATLAB GUI 设计第一篇 】
  • packer-fuzzer使用
  • 从0-1 用AI做一个赚钱的小红书账号(不是广告不是广告)
  • 32.递归、搜索、回溯之floodfill算法
  • 【D3.js in Action 3 精译_023】3.3 使用 D3 将数据绑定到 DOM 元素
  • 掌握这几个酱酒特点术语,聊天更显内行
  • 17、电科院FTU检测标准学习笔记-录波性能