利用栈的思想,针对左括号这种就进栈,否则出栈,最后根据栈是否为空进行判断即可。
需要对进栈出栈的条件进行处理
class Solution:
def isValid(self, s: str) -> bool:
if len(s) % 2 == 1:
return False
tmp = {
")": "(",
"]": "[",
"}": "{"
}
if s[0] in tmp.keys():
return False
ret = []
for i in s:
if i in tmp.values():
ret.append(i)
else:
if len(ret) > 0:
if ret[-1] == tmp.get(i):
ret.pop()
else:
return False
else:
return False
if len(ret) == 0:
return True
else:
return False