码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-31 23:29:14      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:pen   每日   实现   元素   return   append   数据结构   app   简单题   

有效的数字(简单题)

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

标签:pen   每日   实现   元素   return   append   数据结构   app   简单题   

原文地址:http://blog.51cto.com/13930723/2311420

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!