杭州做邮票的公司网站中国互联网公司排名
心路历程:
看到括号问题直接想到栈,但是纠结了一下题目中给出的 ‘2. 左括号必须以正确的顺序闭合’ 这一约束,其实这句话的意思简化了题目要求,'[(])'这样的字符串就不满足要求了。
注意的点:
1、注意最后需要栈为空的时候才能返回true,否则代表左括号可能会多余。
解法:栈
class Solution:def isValid(self, s: str) -> bool:# 栈from collections import dequestack = deque([])lefts, rights = ['(', '[', '{'], [')', ']', '}']mappings_right = {')':'(', ']':'[', '}':'{'}for c in s:if c in lefts:stack.append(c)else:if len(stack) == 0: return Falseif stack.pop() != mappings_right[c]: return Falseif len(stack) == 0: return Trueelse: return False