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]:访问字典中对应键的值。

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

相关推荐
u0109272711 分钟前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
MaoziShan6 分钟前
[ICLR 2026] 一文读懂 AutoGEO:生成式搜索引擎优化(GEO)的自动化解决方案
人工智能·python·搜索引擎·语言模型·自然语言处理·内容运营·生成式搜索引擎
方见华Richard10 分钟前
整数阶时间重参数化:基于自适应豪斯多夫维数的偏微分方程正则化新框架
人工智能·笔记·交互·原型模式·空间计算
haluhalu.14 分钟前
LeetCode---基础算法刷题指南
数据结构·算法·leetcode
iAkuya19 分钟前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
2401_8384725120 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
深蓝电商API28 分钟前
aiohttp爬取带登录态的异步请求
爬虫·python
舟舟亢亢30 分钟前
JVM复习笔记——下
java·jvm·笔记
rainbow688931 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python