每日一题 LeetCode 有效的数字

2023-01-31 01:01:42 数字 每日 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来实现

相关文章