20. 有效的括号 - 力扣(LeetCode)
20. 有效的括号 - 力扣(LeetCode)
class Solution:def isValid(self, s: str) -> bool:# 创建一个栈用于存储左括号left = list()# 遍历输入字符串中的每个字符for c in s:# 如果是左括号,则入栈if c in "([{":left.append(c)else:# 如果是右括号,检查栈是否为空且当前右括号与栈顶左括号匹配if left and self.isRight(c) == left[-1]:# 匹配成功,弹出栈顶左括号left.pop()else:# 匹配失败或栈为空,返回Falsereturn False# 如果栈为空,说明所有括号都匹配成功,返回True;否则返回Falsereturn not leftdef isRight(self, c: str) -> str:# 根据右括号返回对应的左括号if c == ')':return '('elif c == '}':return '{'elif c == ']':return '['