--------------------------------记住这个题出现的逻辑错误-----------------------------
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
if len(s) == 0:
return True
stack = []
for i in s:
if i == '(' or i == '[' or i == '{':
stack.append(i)
else:
if len(stack) == 0:
return False
else:
temp = stack.pop()
# 逻辑错误,不应该是满足就返回true,满足当前的,还需要看后序
# 应该是不满足就马上返回false
# if i == ')' and temp == '(':
# return True
# elif i == ']' and temp == '[':
# return True
# elif i == '}' and temp == '{':
# return True
# else:
# return False
if i == ')' and temp != '(':
return False
elif i == ']' and temp != '[':
return False
elif i == '}' and temp != '{':
return False
if len(stack) == 0:
return True
else:
return False