每日一题 LeetCode 有效的数字
有效的数字(简单题)
class Solution:
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
a=list(s)
b=[] #存放左括号的栈 qc:list当做栈
c={'(':')','[':']','{':'}'} #字典存储 qc;key:value 键:值
for i in a:
if i=='':
return True
elif i in c:
#如果是字典中的键,即左括号,放进栈
b.append(i)
else:
if len(b)==0: #先判断是否有左括号存在
return False
else:
#字典得到该键的值==栈顶值对应的右括号
if c.get(b[-1])!=i:
return False
else:
del b[-1] #删除栈顶元素
if len(b)!=0: #若还存在左括号,此时已没有右括号,出错
return False
return True
# 用到了数据结构中的栈 在python中可以只通过list来实现
相关文章