每日一题 LeetCode 有效的数字

发布时间:2019-08-05 14:59:52编辑:auto阅读(1445)

    有效的数字(简单题)

    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来实现

关键字