给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
这道题是简单题,所以使用栈的思想进行括号匹配就可以,要让代码变得简单,可以使用字典,使得条件判断变得简洁。
class Solution: def isValid(self, s: str) -> bool: stack = [‘1‘] dic = {‘(‘:‘)‘,‘[‘:‘]‘,‘{‘:‘}‘} dic = dict(zip(dic.values(),dic.keys())) for i in s: if i in dic: if stack.pop() != dic[i]: return False continue stack.append(i) return len(stack) == 1
原文:https://www.cnblogs.com/tjpeng/p/11624625.html