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

栈算法之【有效括号】

目录

LeetCode-20题


LeetCode-20题

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

有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。

class Solution {public boolean isValid(String s) {// checkif (s == null || s.length() < 2)return false;// map的key表示左括号,value表示右括号Map<Character, Character> cache = new HashMap<>();cache.put('(', ')');cache.put('{', '}');cache.put('[', ']');// 借助LinkedList实现的栈LinkedList<Character> stack = new LinkedList<>();for (int i = 0; i < s.length(); i++) {char curr = s.charAt(i);if (cache.containsKey(curr)) {// 如果是左括号,就将其对应的右括号入栈stack.push(cache.get(curr));} else {// 如果是右括号if (!stack.isEmpty() && stack.peek() == curr) {// 此时栈不为空,且栈顶元素就是当前的右括号,执行出栈操作stack.pop();} else {return false;}}}// 此时栈空了就表示s是有效括号return stack.isEmpty();}
}

http://www.dtcms.com/a/299879.html

相关文章:

  • 在Word和WPS文字中要同时查看和编辑一个文档的两个地方?拆分窗口
  • 《Moco: Momentum Contrast for Unsupervised Visual Representation Learning》论文精读笔记
  • 固态硬盘SSD简介
  • 数字孪生映射探索驱动的具身导航!MorphoNavi:面向对象映射的空地机器人导航
  • Datawhale AI数据分析 作业3
  • 【深度学习新浪潮】什么是GUI Agent?
  • SpringMVC的请求执行流程是什么样的?
  • Houdini快速模拟烟雾
  • Tm.sys是什么文件
  • WLAN网络分类与详细对比
  • Unity 实现帧率(FPS)显示功能
  • Paimon Consumer机制解析
  • 守护汽车“空中升级“:基于HSM/KMS的安全OTA固件签名与验证方案
  • 通过redis_exporter监控redis cluster
  • 1. Qt多线程开发
  • JavaEE初阶第十一期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(九)
  • 第10篇:实战验收篇
  • 无需云服务器的内网穿透方案 -- cloudflare tunnel
  • 特产|基于SSM+vue的南阳特产销售平台(源码+数据库+文档)
  • 如何实现打印功能
  • 大话数据结构之 < 栈>(C语言)
  • Java中mybatis 无参构造器?你会吗
  • Spring AI 项目实战(二十):基于Spring Boot + AI + DeepSeek的智能环境监测与分析平台(附完整源码)
  • 修改site-packages位置与pip配置
  • Kubernetes 与 Docker的爱恨情仇
  • 面试实战,问题十三,Redis在Java项目中的作用及使用场景详解,怎么回答
  • 面试问题总结——关于OpenCV(二)
  • 【电赛学习笔记】MaxiCAM 的OCR图片文字识别
  • 力扣404.左叶子之和
  • jxORM--查询数据