方法一:
class Solution:
def isValid(self, s: str) -> bool:
left=['(', '{', '[' ]
right=[ ')','}',']']
if len(s)==0:
return True
if s[0] in right:
return False
if len(s)%2!=0:
return False
stack=[]
for ele in s:
if ele in left:
stack.append(ele)
elif len(stack)>0 and left.index(stack[-1])==right.index(ele):
stack.pop()
else:
return False
return not stack
方法二:
使用字典
class Solution:
def isValid(self, s: str) -> bool:
zd= {")": "(", "}": "{", "]": "["}
if len(s)==0:
return True
if len(s)%2!=0:
return False
stack=[]
for ele in s:
if ele in zd:#判断是否在key中
if len(stack)>0 and stack[-1]==zd[ele]:
stack.pop()
else:
return False
else:
stack.append(ele)
return not stack