当前位置: 首页 > 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

http://www.mrgr.cn/news/9115.html

相关文章:

  • 创意无限,思维升级:2024年思维导图软件新趋势与精选推荐
  • CentOS(7.x、8)上安装EMQX教程
  • flink读写案例合集
  • 【KivyMD 应用程序 1.1.1】MDBottomNavigation TabbedPanelBas选项卡底座
  • 【C++ Primer Plus习题】5.8
  • huggingface下载model
  • Go语言操作文件上传和下载应用教程
  • 微服务基础与Spring Cloud框架
  • LlamaIndex 实现 RAG(三)- 向量数据
  • PostgreSQL16.1(Linux版本离线下载)
  • OpenAI 重回巅峰:ChatGPT-4O 最新模型超越谷歌 Gemini 1.5,多项测试夺冠!
  • RongCallKit iOS 端本地私有 pod 方案
  • docker手动部署django项目Dockerfile编排-后端发布
  • HTML静态网页成品作业(HTML+CSS)——家乡漳州介绍设计制作(1个页面)
  • 如何知道当前网卡连接的下位机的IP,通过工具实现
  • python异步编程-channels使用,创建websocket服务
  • 尚品汇-选中状态缓存变更、删除缓存购物车(三十八)
  • 案例分享—医疗行业国外优秀界面设计案例
  • 趣味算法------煤球数目
  • 关闭Chrome快捷键