Leetcode 20 有效的括号 发表于 2024-12-14 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号必须闭合对应的左括号。 用一个栈来存储左括号,遇到右括号时,判断栈顶元素是否与之匹配,若匹配则弹出栈顶元素,否则将右括号压入栈中。最后判断栈是否为空即可。 123456789101112131415161718class Solution: def isValid(self, s: str) -> bool: stack = [] matched = ["()", "{}", "[]"] for st in s: if len(stack) == 0: stack.append(st) continue if stack[-1]+st in matched: stack.pop() else: stack.append(st) if len(stack) == 0: return True else: return False