LeetCode Valid Parentheses

news/2024/7/6 5:17:40

LeetCode解题之Valid Parentheses


原题

推断一个仅仅包括各种括号符号的字符串中括号的匹配情况。

注意点:

  • 字符串中仅仅会包括”(“,”)”,”[“,”]”,”{“,”}”这些字符
  • 括号匹配要注意顺序,字符串”([)]”是错误的匹配

样例:

输入: s=”(){}”
输出: True

输入: s=”(){}[”
输出: False

解题思路

典型的用栈来解决的问题,遇到左括号就压栈。遇到右括号时假设栈为空(相似”]]]”的情况)。则失败,否则取栈顶元素。看两个括号是否匹配。假设最后栈不为空(相似”[[[“的情况),则匹配失败。

AC源代码

class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        # Valid str must be even
        if len(s) % 2 == 1:
            return False
        stack = []
        left = ("(", "[", "{")
        right = (")", "]", "}")
        zip(left,right)
        for v in s:
            if v in left:
                stack.append(v)
            else:
                if not stack:
                    return False
                p = stack.pop()
                if left.index(p) != right.index(v):
                    return False
        return len(stack) == 0


if __name__ == "__main__":
    assert Solution().isValid("({}){}") == True
    assert Solution().isValid("({)}") == False
    assert Solution().isValid("}}}") == False
    assert Solution().isValid("(((") == False

欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源代码。


http://www.niftyadmin.cn/n/2751127.html

相关文章

参对象和map_AI论技| mAP提升40%,更快更精准的YOLO来了!还支持实例分割?!

不久前给大家详细介绍了经典的目标检测算法yolov3,最近基于yolov3的改进版本poly-yolo来了,模型参数量仅为yolov3的60%,但是map却提升了40%,还能应用于实例分割,一起来看看细节和其惊人的效果吧!本文由品览…

如何搭建FTP服务器

7分步阅读FTP服务器可以方便的供用户上传,下载文件,对于我们日常的教学,工作都有着很大的帮助,今天小编就为大家讲解下如何在搭建FTP服务器希望对大家有所帮助。工具/原料电脑一台方法/步骤1首先我们创建一个用户账户用于登录FTP进…

c语言和python实用性_C语言和Python语言,那个更好?

(3)灵活性Python语言的最大优点在于它的灵活性,这在测试领域非常重要,因为测试所面临的业务和需求经常在变化,有时它们甚至无法满足并自行决定,而在这时,你可以使用Python丰富的第三方库轻松找到解决方案。(4)扩张Pyth…

HDU 4401 Battery(积分)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid4401 题意:给出一个长度为L的太阳能电池板。若阳光直射在板上,单位长度单位时间发电为1.斜射的话要乘以sin(x),x为阳光和地面夹角。求某一时间段太阳能电池板的发电量。 思路&#xff1a…

趣谈网络原理 网关(自我提升第二十四天)

第一,菜鸟感觉这个极客时间的专栏因为是每天挑一个学,然后写博客,感觉顺序比较乱,我今天整理了一下。 第二,菜鸟感觉这些东西真的是:一天不学,等于白学。我才几天没看这个趣谈网络原理&#xf…

还原历史版本_历史还原的“音乐事件” | 乐评

江禹杉文 | 张俊俊2020年12月16日晚,青年羽管键琴家、管风琴家江禹杉在中国音乐学院举行的《羽管键琴独奏音乐会巴赫——哥德堡变奏曲》(BWV988),可谓一场巴洛克音乐的“历史还原”之旅。作为一名旅欧羽管键琴家、管风琴家,江禹杉丰富的教堂演…

topcoder srm 445 div1

problem1 link 这个的结论是只需要考虑坐标是整数或者是整数.5,比如(2.5,3),(4,3.5),(1.5,4.5)这样的时候。这个详细证明起来应该挺麻烦的。这里有一些讨论。 problem2 link 首先,可以暴力看下$n3,4$时的情况。 $n3$, 000 001 011 010 110 100 101 111 $…

SQL优化:化解表关联的多对多join

关系数据库的基本概念就是关系,对应到数据库软件中就是join,具体有:(1对1,1对多,多对多)。在写sql时,经常会进行join,但是如果在join时没注意,关联条件是多对…