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

力扣 LeetCode 20. 有效的括号(Day5:栈与队列)

解题思路:

使用栈

只有三种情况

1. ( [ { } ] ( (         左括号多了 -> 最后栈中经过抵消会剩下括号

2. [ { ( ] } ]           括号不匹配 -> return false

3. [ { } ] ( ) ) )       右括号多了 -> 未遍历完时,栈提前为空,return false

遇到左括号,在栈中放入对应的右括号

遇到右括号,取出栈顶元素看是否相等,不相等则返回false

最后检查栈是否为空,不为空则对应第一种情况,return false

注意:

s 要先调用 s.toCharArray() 转换为 char[] 类型才可以使用增强型for循环

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() || c != stack.peek()) return false;else stack.pop();}if (stack.isEmpty()) return true;return false;}
}

http://www.lryc.cn/news/487333.html

相关文章:

  • git使用及上线流程(仅为我工作中常用)
  • React Native 全栈开发实战班 - 打包发布之热更新
  • 2024年11月16日 星期六 重新整理Go技术
  • 力扣第 55 题 跳跃游戏
  • Golang | Leetcode Golang题解之第564题寻找最近的回文数
  • Spring Boot汽车资讯:科技与速度的交响
  • 从 IDC 到云原生:稳定性提升 100%,成本下降 50%,热联集团的数字化转型与未来展望
  • 移动零
  • C#编写的日志记录组件 - 开源研究系列文章
  • 猎板PCB罗杰斯板材的应用案例
  • 使用esp32c3开发板通过wifi连网络web服务器
  • 供应链管理、一件代发系统功能及源码分享 PHP+Mysql
  • Windows docker下载minio出现“Using default tag: latestError response from daemon”
  • 工厂模式-简单工厂模式
  • 【linux】使用minicom调试串口
  • C# 异常处理、多个异常、自定义异常处理
  • 【从零开始的LeetCode-算法】3210. 找出加密后的字符串
  • redis linux 安装
  • springboot006基于SpringBoot的网上订餐系统(源码+包运行+LW+技术指导)
  • 【QNX】QNX侧如何抓取日志?
  • 深度学习:计算卷积神经网络中输出特征图尺寸的关键公式
  • 【惠州大亚湾】之维修戴尔服务器DELLR730XD
  • 跟我学C++中级篇——Design Patterns的通俗说法
  • 消息队列原理面试题及参考答案
  • 有序数组的平方(leetcode 977)
  • 网页抓取API,让数据获取更简单
  • 23.<Spring图书管理系统(强制登录版本)>
  • 【插件】重复执行 pytest-repeat
  • pip/conda install bugs汇总
  • 通过shell脚本分析部署nginx网络服务