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

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

相关推荐
喜欢你,还有大家6 分钟前
Linux笔记14——shell编程基础-8
linux·前端·笔记
岁月静好202511 分钟前
Leetcode二分查找(3)
算法·leetcode·职场和发展
一支鱼30 分钟前
leetcode-4-寻找两个正序数组的中位数
算法·leetcode·typescript
丨 丨33 分钟前
Python 爬虫基础教学
开发语言·爬虫·python
dbdr090139 分钟前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十四天
linux·运维·c语言·python·学习
烟雨迷42 分钟前
web自动化测试(selenium)
运维·开发语言·前端·python·selenium·测试工具
荼蘼2 小时前
Python 爬虫实战:爬取 B 站视频的完整教程
开发语言·爬虫·python
XYiFfang2 小时前
【Python+requests】解决Python requests中的ProxyError:SSL版本错误问题详解
python·debug·ssl·常见错误·代理配置
huluang2 小时前
VibeVoice 部署全指南:Windows 下的挑战与完整解决方案
windows·python
AI Echoes2 小时前
一款为开发者而生的开源全栈LLMOps平台
人工智能·python·langchain·agent