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

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

相关推荐
fen_fen34 分钟前
学习笔记(39):结合生活案例,介绍 10 种常见模型
笔记·学习·生活
愚昧之山绝望之谷开悟之坡38 分钟前
相机长焦个短焦
笔记
玲娜贝儿--努力学习买大鸡腿版1 小时前
推荐系统---AUC计算
人工智能·python·机器学习
蓝倾9761 小时前
小红书获取关键词列表API接口详解
开发语言·数据库·python
是小崔啊1 小时前
【爬虫】03 - 爬虫的基本数据存储
网络·爬虫·python·beautifulsoup
sunbyte1 小时前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | NotesApp(便签笔记组件)
前端·javascript·css·vue.js·笔记·tailwindcss
java1234_小锋2 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 基于jieba实现词频统计
python·自然语言处理·flask
前端拿破轮2 小时前
面试官:二叉树的前中后序遍历,用递归和迭代分别实现🤓🤓🤓
数据结构·算法·leetcode
星期天要睡觉2 小时前
python网络爬虫(第一章/共三章:网络爬虫库、robots.txt规则(防止犯法)、查看获取网页源代码)
开发语言·爬虫·python
江湖有缘2 小时前
基于华为openEuler系统安装DailyNotes个人笔记管理工具
笔记·华为