class Solution:
def isValid(self, s: str) -> bool:
if s is None:
return True
stack = []
flag = {
']': '[',
')': '(',
'}': '{'
}
endFlag = [']', ')', '}']
for i in range(len(s)):
if s[i] not in endFlag:
stack.append(s[i])
else:
if not stack:
return False
elif stack.pop() != flag[s[i]]:
return False
if not stack:
return True