码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 每日一题 20. 有效的括号

时间:2020-05-02 13:25:39      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:pen   思路   ppi   src   class   ret   mic   ima   否则   

技术图片

技术图片

思路:

由于括号一般是成对出现,可以利用栈后进先出的特征。将字符串字符按顺序压入栈中,压入过程中如果遇到右括号时,推出栈顶元素,判断当前要压入的右括号是否和栈顶元素是一对,如果是则继续下一字符的压入判断操作。如果不是,直接返回False。当压入过程结束后,如果栈内为空则返回True,否则返回False。

例如:

  {  [  (  )  ]  (  )  }  (  )

 技术图片

代码:

class Solution(object):
    def isValid(self, s):
        stack = []
        mapping = {")": "(", "}": "{", "]": "["}
        for char in s:
            if char in mapping:
                top_element = stack.pop() if stack else #
                if mapping[char] != top_element:
                    return False
            else:
                stack.append(char)
        return not stack

 

 

leetcode 每日一题 20. 有效的括号

标签:pen   思路   ppi   src   class   ret   mic   ima   否则   

原文地址:https://www.cnblogs.com/nilhxzcode/p/12817756.html

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