LeetCode热题100-有效的括号

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

因为需要判断左右括号的顺序,所以需要引入栈结构保证左右顺序是正确的,如果不正确直接判定为无效。

python 复制代码
class Solution:
    def isValid(self, s: str) -> bool:
        match_tmp = {')': '(', ']': '[', '}': '{'}

        stack = []

        for char in s:
            if char in match_tmp:
                if not stack or stack.pop() != match_tmp[char]:
                    return False
            else:
                stack.append(char)
        
        return len(stack) == 0
相关推荐
拳里剑气1 小时前
Linux:基础IO
linux·运维·服务器·io
五条凪1 小时前
简单理解 BM25 与 TF-IDF
人工智能·算法·搜索引擎·全文检索·tf-idf
小小龙学IT1 小时前
Day 2-3:Linux 文件与目录操作
linux
行者全栈架构师1 小时前
【码动四季】Spring Boot 可观测性体系:Micrometer + OpenTelemetry + Grafana 全链路搭建
java·算法·架构
TCW11211 小时前
AI底层系列:用C++实现线性代数的公式推导与算法设计-8.线性变化(3)
c++·人工智能·算法
三8441 小时前
基本Linux命令总结
linux·运维·服务器
皓月斯语2 小时前
B3849 [GESP样题 三级] 进制转换 题解
c++·算法·题解
中微极客2 小时前
剪枝与量化:让YOLO在边缘设备上高效部署
算法·yolo·剪枝
hehelm2 小时前
AI 大模型接入 SDK —项目概述
linux·服务器·网络·数据库·c++
mounter6252 小时前
跨越鸿沟:从内核驱动开发到超大规模云端生产环境的思考
linux·驱动开发·linux kernel·kernel