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

LeetCode 热题100-69 有效的括号

有效的括号

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

有效字符串需满足:

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

示例 1:

输入:s = "()"
输出:true

示例 2:

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

示例 3:

输入:s = "(]"
输出:false

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

这道比较简单,栈的思想,开口朝右的压栈,匹配到开口朝左的字符就和栈顶匹配一下,成功就栈顶弹出,否则return False,最后看看栈里空不空(如果不空说明栈里还有其他没有匹配的开口朝右的字符)(更简化的可以用字典存一下对应关系,然后直接用键值对写 if 语句)

class Solution:def isValid(self, s: str) -> bool:if len(s)%2!=0:return Falsea = []for i in s :if i == '(' or i == '{' or i == '[':a.append(i)else:if len(a) == 0:return Falseif i == ')' and a[-1] == '(':a.pop()elif i == '}' and a[-1] == '{':a.pop()elif i == ']' and a[-1] == '[':a.pop()else:return Falseif len(a) != 0:return Falsereturn True

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 设计模式-结构性模式-桥接模式
  • 风波中坚守:技术应对突发故障的危与机
  • 我们如何将数据输入到神经网络中?
  • day38.动态规划+MySql数据库复习
  • 视频检索技术为电子商务直播领域带来了前所未有的革新
  • Objective-C中的MVC架构:构建清晰、可维护的iOS应用
  • 【Hot100】LeetCode—101. 对称二叉树
  • web前端之选项卡的实现、动态添加类名、动态移除类名、动态添加样式、激活、间距、节流、tabBar
  • 【精选】基于python的影片数据爬取与数据分析
  • minio使用与注解事务管理
  • 分享一个基于python的抖音短视频流量数据分析与可视化系统Hive大数据源码(源码、调试、LW、开题、PPT)
  • 并查集详解
  • 内网横向移动常用方法
  • 【Docker】Docker学习01 | 什么是docker?
  • sqlserver索引碎片过大如何处理 sqlserver索引碎片查询
  • 网络传输文件的问题
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 《深入 React 技术栈》
  • Cumulo 的 ClojureScript 模块已经成型
  • IOS评论框不贴底(ios12新bug)
  • Java基本数据类型之Number
  • php的插入排序,通过双层for循环
  • rabbitmq延迟消息示例
  • session共享问题解决方案
  • vue学习系列(二)vue-cli
  • 编写符合Python风格的对象
  • 解析 Webpack中import、require、按需加载的执行过程
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 驱动程序原理
  • 如何设计一个比特币钱包服务
  • zabbix3.2监控linux磁盘IO
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​flutter 代码混淆
  • # centos7下FFmpeg环境部署记录
  • #1014 : Trie树
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (26)4.7 字符函数和字符串函数
  • (3) cmake编译多个cpp文件
  • (a /b)*c的值
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)甲方乙方——赵民谈找工作
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • *** 2003
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .net core + vue 搭建前后端分离的框架
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .Net 执行Linux下多行shell命令方法
  • .net专家(高海东的专栏)
  • @ConfigurationProperties注解对数据的自动封装