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

DAY 49 leetcode 20--栈和队列.有效的括号

题号20

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

有效字符串需满足:

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

由于栈结构的特殊性,非常适合做对称匹配类的题目。

class Solution {public boolean isValid(String s) {Deque <Character> stack=new LinkedList <>();for(int i=0;i<s.length();i++){if(s.charAt(i)=='(')stack.push(')');//加入对应的括号else if(s.charAt(i)=='{')stack.push('}');else if(s.charAt(i)=='[')stack.push(']');else if(!stack.isEmpty()&&s.charAt(i)==stack.peek())stack.pop();elsereturn false;}return stack.isEmpty();}}

思路:先检测左括号,然后逐一将左括号对应的右括号入栈,这样的好处是判断左右括号是否匹配时,只需判断两括号是否相等就行了(因为都是右括号),若相等则pop()

相关文章:

  • C++中动态多态类别浅析
  • C++之虚函数 Virtual Function
  • Matlab画海洋与大气变量的时间序列并带标记面的三维折线图--来源粉丝
  • 如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路
  • Macvlan 网络类型详解:特点、优势与局限性
  • C++入门七式——模板初阶
  • Nacos启动报错
  • 软件测试行业核心知识点的系统化梳理
  • 使用 TensorFlow 和 Keras 构建 U-Net
  • Python语法系列博客 · 第9期[特殊字符] 函数参数进阶:*args、**kwargs 与参数解包技巧
  • 混合精度训练中的算力浪费分析:FP16/FP8/BF16的隐藏成本
  • 深度学习--mnist数据集实现卷积神经网络的手写数字识别
  • 探索大语言模型(LLM):Transformer 与 BERT从原理到实践
  • 【OpenGL】OpenGL学习笔记-1:VS2019配置OpenGL开发环境
  • PR第一课
  • Arduino项目中硬件包括哪些部分
  • 【MATLAB海洋专题】历史汇总
  • 链表面试题
  • 用思维导图解锁计算机科学导论的知识宝库
  • 取值运算符*和地址运算符
  • 美关税政策冲击本土车企:福特7月涨价,通用汽车盈利预期下调
  • 医院招聘误发内部信息反获好评,求职者就需要这样的“敞亮”
  • 全国首个医工交叉“MD+PhD”双博士培养项目在沪启动
  • 煤矿疑污水渗漏致数十亩耕地被淹,陕西榆阳区:成立调查组调查
  • 复旦大学官宣成立3个创新学院,院士赵东元、副校长周磊和姜育刚分别任院长
  • 青岛:多孩家庭购房最高补贴10万元,推出青年群体“低月供”住房贷款金融产品