题目描述:
主要思路: 这题思路比较清晰,直接想到了用栈来做。若输入部分是’(‘、’[‘ 或者'{',则直接入栈,否则比较栈顶元素与输入是否匹配。若最后栈非空,则说明存在未匹配到的符号,返回false。
1 class Solution: 2 def isValid(self, s: str) -> bool: 3 if len(s)%2 != 0: 4 return False 5 dic = {')':'(', ']':'[', '}':'{'} 6 stack = [] 7 for word in s: 8 if word in dic: 9 if stack == []: 10 return False 11 if stack[-1] == dic[word]: 12 stack.pop() 13 else: 14 return False 15 else: 16 stack.append(word) 17 return not stack
一个自己做题时没有注意到的点:配对的一对括号可以用字典的方式存储!