20. 有效的括号
问题描述
解题方法
- 将左括号右括号分别放入两个list A=["(’","{","["], B=[")","}","]"] ,设置一个空list:temp
- 遍历S,如果是左括号,放入temp中,如果是右括号,check是否与temp的最后一个元素对应,如果对应,pop出最后一个元素,如果不对应,返回False
- 循环结束后,如果temp是空,返回True,否则返回False
代码如下
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
A=['(','{','[']
B=[')','}',']']
temp=list()
if len(s)==0 or len(s)==1:
return
if s[0] in B:
return False
for i in range (len(s)):
if s[i] in A:
temp.append(s[i])
else:
if len(temp)!=0 and A.index(temp[-1])==B.index(s[i]) :
temp.pop()
else:return False
if len(temp)==0:
return True
else:
return False
结果