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

LeetCode|Day18|20. 有效的括号|Python刷题笔记

LeetCode|Day18|20. 有效的括号|Python刷题笔记

🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>


📌 题目简介

题号:20. 有效的括号
难度:简单
题目链接:点击跳转


🧾 题目描述(简要)

判断一个字符串中的括号是否有效。括号包括 ()[]{}

  • 左右匹配;
  • 顺序也必须正确;
  • 空字符串是有效括号。

示例:

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

💡 解法:栈 + 字典匹配

class Solution:def isValid(self, s: str) -> bool:stack = []mapping = {')': '(', ']': '[', '}': '{'}for char in s:if char in mapping:if not stack or stack[-1] != mapping[char]:return Falsestack.pop()else:stack.append(char)return not stack

🧠 我的理解

  • 括号类题目通常用栈解决;
  • 字典 mapping 用于快速匹配对应关系;
  • 遇到右括号时判断栈顶元素是否匹配;
  • 最后栈为空说明完全匹配。

📌 基础语法复习:

  • stack.append(char):压栈;
  • stack.pop():弹出栈顶;
  • not stack:判断栈是否为空;
  • dict[char]:访问字典中对应键的值。

📌 返回总目录:点我回目录

http://www.xdnf.cn/news/15639.html

相关文章:

  • 【数据可视化-67】基于pyecharts的航空安全深度剖析:坠毁航班数据集可视化分析
  • 小记_想写啥写啥_实现行间的Latex公式_VScode始终折叠大纲
  • 【Linux】基本指令(入门篇)(上)
  • 从0开始学习R语言--Day50--ROC曲线
  • 【深度学习】神经网络 批量标准化-part6
  • 苹果ios系统IPA包企业签名手机下载应用可以有几种方式可以下载到手机?
  • Go运算符
  • vue2 面试题及详细答案150道(91 - 100)
  • 系统IO对于目录的操作
  • 在断网情况下,网线直接连接 Windows 笔记本和 Ubuntu 服务器进行数据传输
  • AI产品经理面试宝典第36天:AI+旅游以及行业痛点相关面试题的指导
  • 小红书采集工具:无水印图片一键获取,同步采集笔记与评论
  • Golang 中 JSON 和 XML 解析与生成的完全指南
  • SpringBoot切片上传+断点续传
  • vue3引入cesium完整步骤
  • NVIDIA 驱动安装失败问题排查与解决(含离线 GCC 工具链安装全过程)
  • 如何防止GitHub上的敏感信息被泄漏?
  • Visual Studio C++编译器优化等级详解:配置、原理与编码实践
  • imx6ull UI开发
  • 20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
  • 短视频矩阵的时代结束了吗?
  • 【推理的思想】程序正确性证明(一):演绎推理基础知识
  • 网络编程(modbus,3握4挥)
  • 代码随想录算法训练营第二十四天
  • 包管理工具npm cnpm yarn的使用
  • 【47】MFC入门到精通——MFC编辑框 按回车键 程序闪退问题 ,关闭 ESC程序退出 问题
  • LVS集群
  • Python编程进阶知识之第二课学习网络爬虫(requests)
  • java-字符串和集合
  • JAVA中的Map集合