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

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

🗓️ 本文属于【LeetCode 简单题百日计划】系列

👉 点击查看系列总目录 >>


📌 题目简介

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


🧾 题目描述(简要)

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

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

示例:

复制代码
输入:s = "()[]{}"
输出:true

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

💡 解法:栈 + 字典匹配

python 复制代码
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 False
                stack.pop()
            else:
                stack.append(char)
        return not stack

🧠 我的理解

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

📌 基础语法复习:

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

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

相关推荐
.30-06Springfield4 分钟前
PyTorch快速入门
人工智能·pytorch·python
小葡萄20252 小时前
VSCode 刷 LeetCode 算法题配置教程
vscode·算法·leetcode
执携4 小时前
Python(6) -- 数据容器
开发语言·python
天才测试猿5 小时前
Jmeter+ant+jenkins接口自动化测试框架
自动化测试·软件测试·python·jmeter·职场和发展·jenkins·接口测试
_Kayo_8 小时前
node.js 学习笔记2 进程/线程、fs
笔记·学习
-森屿安年-8 小时前
C语言学习笔记——文件
c语言·笔记·学习
计算机毕业编程指导师8 小时前
毕业设计选题推荐之基于Spark的在线教育投融数据可视化分析系统 |爬虫|大数据|大屏|预测|深度学习|数据分析|数据挖掘
大数据·hadoop·python·数据挖掘·spark·毕业设计·在线教育投融
夜斗小神社8 小时前
【LeetCode 热题 100】(六)矩阵
算法·leetcode·矩阵
花酒锄作田10 小时前
[Python][Go]比较两个JSON文件之间的差异
python·golang
都叫我大帅哥11 小时前
🧠 LangGraph状态管理:让AI工作流拥有“记忆”的超能力
python·langchain·ai编程