每日一题 LeetCode 有效的数字 Python实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题 LeetCode 有效的数字 Python实现相关的知识,希望对你有一定的参考价值。

有效的数字(简单题)

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

以上是关于每日一题 LeetCode 有效的数字 Python实现的主要内容,如果未能解决你的问题,请参考以下文章

《LeetCode之每日一题》:279.有效的数独

《LeetCode之每日一题》:118.替换隐藏数字得到的最晚时间

《LeetCode之每日一题》:190.括号生成

每日LeetCode一道题————有效的数独

LeetCode 解题大纲(每日一题C++自用)

《LeetCode之每日一题》:262.累加数