补充一些例子:
#{(}) #{()} #){ #(){}}{ 空同样认为是有效的
有对应关系首先考虑字典
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
look_up={'{':'}','[':']','(':')'}
stack=[]
for parenthese in s:
if parenthese in look_up:
stack.append(parenthese)
elif len(stack)==0 or look_up[stack.pop()]!=parenthese:
return False
return len(stack)==0
知识点:
python列表中pop的使用方法:
list.pop()
默认移出列表中的最后一个元素
Ps:一旦出现即使用
list.pop(2)
移出列表中的下标为2的元素
PS:如果列表无元素或者超出了范围,list.pop()会报错