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
相关推荐
用户805533698036 小时前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
05Kevin6 小时前
lk每日冒险题--数据结构6.27
算法
用户034095297916 小时前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
To_OC17 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安1 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者1 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范