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
相关推荐
有点。2 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
bosins3 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
周末也要写八哥3 小时前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸3 小时前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp3 小时前
KV Cache 解析
java·算法
web守墓人4 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
liliangcsdn4 小时前
IVOL与偏度因子的对比测量分析
算法
kuroomi4 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
daemon.qiang4 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
threerocks5 小时前
Jev 入门第一课
算法