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

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

相关推荐
咖啡の猫2 小时前
搭建Python开发环境
开发语言·python
做怪小疯子2 小时前
LeetCode 热题 100——子串——和为 K 的子数组
算法·leetcode·职场和发展
听风吟丶4 小时前
Java 8 Stream API 高级实战:从数据处理到性能优化的深度解析
开发语言·python
AA陈超5 小时前
ASC学习笔记0014:手动添加一个新的属性集
c++·笔记·学习·ue5
文人sec5 小时前
pytest1-接口自动化测试场景
软件测试·python·单元测试·pytest
Chunyyyen5 小时前
【第二十二周】自然语言处理的学习笔记06
笔记·学习·自然语言处理
希望有朝一日能如愿以偿7 小时前
力扣每日一题:仅含1的子串数
算法·leetcode·职场和发展
secondyoung7 小时前
Mermaid流程图高效转换为图片方案
c语言·人工智能·windows·vscode·python·docker·流程图
nini_boom7 小时前
**论文初稿撰写工具2025推荐,高效写作与智能辅助全解析*
大数据·python·信息可视化
苏小瀚8 小时前
算法---FloodFill算法和记忆化搜索算法
数据结构·算法·leetcode