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

栈----1.有效的括号

20. 有效的括号 - 力扣(LeetCode)

/**

        括号特性:

                左括号必定先出现,每个左括号都需要一个右括号与之匹配,后出现的左括号先匹配

        解法:

                依据后出现的左括号先匹配,很容易联想到栈,即后进先出

                遍历字符串,遇到左括号就在栈中添加一个对应的右括号

                遇到右括号就弹出栈顶元素判断是否一致(当前遍历到的最后一个出现的左括号是否能闭合)

            不合法:    

                若弹出的右括号与遇到的右括号不一致---> 左右类型不匹配,不合法

                若遇到右括号时栈中无元素可弹出---> 右括号多余无法闭合,不合法

                若字符串遍历结束栈中仍有元素---> 左括号多余无法闭合,不合法

*/

class Solution {/**括号特性:左括号必定先出现,每个左括号都需要一个右括号与之匹配,后出现的左括号先匹配解法:依据后出现的左括号先匹配,很容易联想到栈,即后进先出遍历字符串,遇到左括号就在栈中添加一个对应的右括号遇到右括号就弹出栈顶元素判断是否一致(当前遍历到的最后一个出现的左括号是否能闭合)不合法:    若弹出的右括号与遇到的右括号不一致---> 左右类型不匹配,不合法若遇到右括号时栈中无元素可弹出---> 右括号多余无法闭合,不合法若字符串遍历结束栈中仍有元素---> 左括号多余无法闭合,不合法*/public boolean isValid(String s) {//利用双端队列模拟栈Deque<Character> stack = new ArrayDeque<>();//按规则遍历字符串for(char c : s.toCharArray()) {//将对应的右括号入栈if(c == '(') {stack.push(')');} else if(c == '[') {stack.push(']');} else if(c == '{') {stack.push('}');}//遇到右括号,判断是否合法else {//右括号多余或左右类型不匹配 不合法if(stack.isEmpty() || stack.pop() != c) {return false;}}}//左括号多余if(!stack.isEmpty()) {return false;}return true;}
}

http://www.xdnf.cn/news/1187767.html

相关文章:

  • 扒网站工具 HTTrack Website Copier
  • 3020雕刻机脱机自定义指令
  • 一些常见的网络攻击方式
  • 疯狂星期四第19天运营日记
  • Java并发编程第十篇(ThreadPoolExecutor线程池组件分析)
  • 锁相环技术简介(面向储能变流器应用)
  • 机器学习(一)KNN,K近邻算法(K-Nearest Neighbors)
  • [硬件电路-85]:一款高集成度热电制冷器(TEC)控制器芯片ADN8835ACPZ
  • 工程师实践出真知
  • 【Spring WebFlux】为什么 Spring 要拥抱响应式
  • java面试题(一)
  • 基于深度学习的图像分类:使用DenseNet实现高效分类
  • 解决 Delete ␍ prettier/prettier问题的方案
  • TwinCAT3编程入门1
  • 理解Spring中的IoC
  • 探索 MyBatis-Plus
  • [2025CVPR-图象分类方向]SPARC:用于视觉语言模型中零样本多标签识别的分数提示和自适应融合
  • TDengine 转化函数 TO_UNIXTIMESTAMP 用户手册
  • S7-1500 与 ET200MP 的组态控制通信(Configuration Control)功能实现详解(下)
  • 【vue3+vue-pdf-embed】实现PDF+图片预览
  • 文件被删除了怎么恢复?恢复方法总结与重点注意事项
  • Mysql 日志 binlog redolog
  • deepseek本地部署,轻松实现编程自由
  • 在线事务型的业务、实时分析类业务、离线处理类型的业务
  • 数据赋能(332)——安全与合规——保密管理
  • MJ11032G和MJ11033G是对管由onsemi/安森美公司研发的一款高性能、低功耗的达林顿晶体管
  • Node.js(三)之Express
  • Zero-Shot TrackingT0:对象分割+运动感知记——当“切万物”武士学会运动记忆,目标跟踪稳如老狗
  • ESP32学习笔记_Components(1)——使用LED Strip组件点亮LED灯带
  • 图论水题日记