LeetCode 热题100-69 有效的括号

有效的括号

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

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

复制代码
输入:s = "()"
输出:true

示例 2:

复制代码
输入:s = "()[]{}"
输出:true

示例 3:

复制代码
输入:s = "(]"
输出:false

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

这道比较简单,栈的思想,开口朝右的压栈,匹配到开口朝左的字符就和栈顶匹配一下,成功就栈顶弹出,否则return False,最后看看栈里空不空(如果不空说明栈里还有其他没有匹配的开口朝右的字符)(更简化的可以用字典存一下对应关系,然后直接用键值对写 if 语句)

python 复制代码
class Solution:
    def isValid(self, s: str) -> bool:
        if len(s)%2!=0:return False
        a = []
        for i in s :
            if i == '(' or i == '{' or i == '[':a.append(i)
            else:
                if len(a) == 0:return False
                if i == ')' and a[-1] == '(':a.pop()
                elif i == '}' and a[-1] == '{':a.pop()
                elif i == ']' and a[-1] == '[':a.pop()
                else:return False
        if len(a) != 0:return False
        return True
相关推荐
waterHBO几秒前
python + fast-wahisper 读取麦克风,实现语音转录,而且是实时转录。
开发语言·python
reasonsummer2 分钟前
【教学类-160-09】20260417 AI视频培训-练习010“豆包AI视频《熊猫找朋友》+豆包图片风格:水墨画”
python·音视频·豆包视频
少许极端3 分钟前
算法奇妙屋(四十九)-贡献法
java·算法·leetcode·贡献法
JaydenAI3 分钟前
[FastMCP设计、原理与应用-15]挂载一个MCP服务器就像挂载一个目录一样容易
python·ai编程·ai agent·mcp·fastmcp
武帝为此6 分钟前
【特征选择方法】
算法·数学建模
甄心爱学习8 分钟前
【项目实训(个人4)】
前端·vue.js·python
西兰先森9 分钟前
使用Antv G6渲染neo4j知识图谱数据
python·知识图谱·neo4j
weixin_3077791313 分钟前
SparkPySetup:基于Python的Windows 11 PySpark环境自动化搭建工具
大数据·开发语言·python·spark
XS03010614 分钟前
Agent 记忆管理
大数据·人工智能·算法
探物 AI14 分钟前
【感知·算法】一文综述医学图像分割:从经典 U-Net 到 Mamba 的范式跃迁
算法