classSolution:defisValid(self, s:str)->bool:"""
解题思路:
通过栈技术解题,遍历字符串,如果没有反括号(`)`,`}`, `]`) 就不停的入栈,直到遇到反括号
就判断栈顶元素是否与反括号是一对,如果不是一对,直接返回False,如果是一对,则弹出栈顶
元素,依次类推,遍历结束。再判断栈中是否为空,如果为空,返回True,否则返回False
"""
self.stack =list()for i in s:if i in[')',']','}']:if self.stack and self.stack[-1]+ i in['()','{}','[]']:
self.stack.pop()else:returnFalseelse:
self.stack.append(i)returnFalseif self.stack elseTrue