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

LeetCode | 20.有效的括号

在这里插入图片描述
这道题就是栈这种数据结构的应用,当我们遇到左括号的时候,比如{,(,[,就压栈,当遇到右括号的时候,比如},),],就把栈顶元素弹出,如果不匹配,则返回False,当遍历完所有元素后,栈中仍然有元素,则证明不匹配,也返回False,注意到有效字符串的长度一定为偶数,因此如果字符串的长度为奇数,我们可以直接返回 False,省去后续的遍历判断过程

class Solution(object):def isValid(self, s):""":type s: str:rtype: bool"""if len(s) % 2 == 1:return Falsestack = []for kh in s:if kh in {'{', '(', '['}:stack.append(kh)if kh in {'}', ')', ']'}:if len(stack) < 1:return Falsep = stack.pop()if kh == '}' and p != '{':return Falseif kh == ')' and p != '(':return Falseif kh == ']' and p != '[':return Falseif len(stack) != 0:return Falsereturn True

在这里插入图片描述

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

相关文章:

  • ceph scrub 错误记录
  • cs与msf权限传递,以及mimikatz抓取明文密码
  • Windows下的zip压缩包版Mysql8.3.0数据迁移到Mysql8.4.0可以用拷贝data文件夹的方式
  • 软件体系结构笔记(自用)
  • java安装并配置环境
  • 探索互联网寻址机制 | 揭秘互联网技术的核心,解析网络寻址
  • C语言学习笔记之结构篇
  • C++笔记之一个函数多个返回值的方法、std::pair、std::tuple、std::tie的用法
  • GDB:从零开始入门GDB
  • 服务器权限管理
  • 08 SpringBoot 自定定义配置
  • Java之3DES(Triple DES)加密计算(DESede/ECB/ZeroPadding)
  • 从0开发一个Chrome插件:项目实战——广告拦截插件
  • C++ 32 之 静态成员函数
  • Python闯LeetCode--第1题:两数之和
  • SSM情侣购物系统-计算机毕业设计源码02387
  • 09-Spark架构
  • 挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
  • 浅谈JavaScript中的作用域
  • Python | C++漂移扩散方程和无风险套利公式算法微分
  • python如何对list求和
  • 如何解决mfc100u.dll丢失问题,关于mfc100u.dll丢失的多种解决方法
  • 算法day32
  • 【QT】信号与槽
  • 【Java】解决Java报错:IllegalArgumentException
  • 完美的移动端 UI 风格让客户无可挑剔
  • 【React】在 React 组件中,怎么使用useContext
  • 【数据结构】栈的应用
  • Opencv基本操作
  • 2779. 数组的最大美丽值