思路:
字典儲存對應括号
周遊字元串:
左括号入棧
右括号分三種情況:
1.若此時棧為空,直接傳回False
2.若此時右括号和棧頂左括号不比對,直接傳回False
3.若此時右括号和棧頂左括号比對,棧頂左括号出棧
周遊結束後
若棧為空棧,說明所有括号都比對完成,傳回True
否則,傳回False
class Solution:
def isValid(self, s: str) -> bool:
dic = {'(':')','[':']','{':'}'}
stack = []
for i in s:
if i in dic:
stack.append(i)
else:
if len(stack) == 0:
return False
elif i == dic[stack.pop()]:
pass
else:
return False
return len(stack) == 0
