首页 > 其他分享 >20 有效的括号

20 有效的括号

时间:2022-10-27 21:33:50浏览次数:74  
标签:return 有效 示例 20 括号 字符串 False stack

题目 20 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。

示例 1:
输入:s = "()"
输出:true

示例 2:
输入:s = "()[]{}"
输出:true

示例 3:
输入:s = "(]"
输出:false

思路

  • 用栈实现,大家别看到栈就头疼,其实理解了这道题就会觉得超级简单了。
  • 循环字符串,如果遇到“(”,栈中添加“)”,遇到“[”,栈中添加“]”,遇到“{”,栈中添加“}”,这样做得目的是循环遇到了 ), ], } 则直接弹出栈中的元素,如果最后栈为空,则证明括号有效,否则栈无效。(自己画画图举例子试试就知道了超简单了)

代码

class Solution:
    def isValid(self, s: str) -> bool:
        stack = []
        for i in s:
            if i == "(": stack.append(")")
            if i == "[": stack.append("]")
            if i == "{": stack.append("}")

            if i == ")": 
                # 注意万一字符串上来就是),],},此时栈弹不出来元素,返回False
                if stack != [] and stack.pop() == ")":
                    continue
                return False
            if i == "]": 
                if stack != [] and stack.pop() == "]":
                    continue
                return False
            if i == "}": 
                if stack != [] and stack.pop() == "}":
                    continue
                return False
        return stack == []

标签:return,有效,示例,20,括号,字符串,False,stack
From: https://www.cnblogs.com/edkong/p/16833811.html

相关文章

  • 20221027 神经网络入门:神经网络判断奇偶数
    神经网络https://www.ibm.com/cn-zh/cloud/learn/neural-networks神经网络反映人类大脑的行为,允许计算机程序识别模式,以及解决人工智能、机器学习和深度学习领域的常见......
  • P1896 [SCOI2005] 互不侵犯
    #include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>usingnamespacestd;#definelllonglongintn,k;llf[10][(......
  • 反证法证明, 抓住定义的意义,不惧Corner case, 抓住循环不变量 | 代码随想录算法训练
    目录977.有序数组的平方算法的正确性采用反证法证明思路解题方法Code209.长度最小的子数组思维打开,抓住滑动窗口定义本质与意义,笑对CornerCases59.螺旋矩阵II......
  • Adobe Animate(An)2023软件安装包下载及安装教程
    AdobeAnimate(An)2023软件简介:AdobeAnimate2023是Adobe推出的一款功能强大的动画制作软件,能够设计适合游戏、应用程序和Web的交互式矢量动画和位图动画。让卡通和横幅广告......
  • leetcode 20. 有效的括号(栈的解法)
    题目在这:https://leetcode-cn.com/problems/valid-parentheses/括号匹配问题,立马想到用栈去做.遇到左括号进栈,遇到右括号匹配当前栈顶,相同就把栈顶的元素弹出,不同直接返回F......
  • 10-15-有效兼顾员工工作幸福感和工作进展,华为云会议稳定便捷又高效!
    随着互联网的高速发展,互联网打工作人员的工作量逐渐提高,更加苦恼的是,若双休期间有紧急工作则要立刻前往工作岗位复命。久而久之,高压下的“打工者们”无法再忍受,纷纷向老板......
  • 【Coel.游记】【成王败寇】CSP-S 2022 游记
    前言CSP-S2022,是我第一次参加的S组比赛,也可能是最后一次了。正如标题所说的“成王败寇”,这次比赛,成功就能继续走下去,失败就只能退役。未来会怎么样?拭目以待吧……\(......
  • 2019软工期中考试初版实现
    第七次全国人口普查登记(20分)1、项目需求:开展第七次全国人口普查,将为编制“十四五”规划提供重要信息支持;推动实现人口与经济社会、资源环境协调发展,为深化供给侧结构性改......
  • [JSOI2010]连通数
    传送地址:https://www.luogu.com.cn/problem/P4306题目描述度量一个有向图连通情况的一个指标是连通数,指图中可达顶点对个的个数。如图顶点 11 可达 1,2,3,4,51......
  • 【闲话】2022.10.27
    啊,离CSP第二轮不远了(悲虽然退不了役,但还是有点在意的以及谁帮帮我调一下这个啊本机一直对,CF一直T孩子人都傻了今天考试就是A每写YES,无了幸亏B稍微骗了20分,没爆零......