博客
关于我
LeetCode--020--括号匹配
阅读量:799 次
发布时间:2023-01-31

本文共 742 字,大约阅读时间需要 2 分钟。

为了判断一个包含不同类型括号的字符串是否有效,我们可以使用栈数据结构。栈可以帮助我们跟踪括号的顺序,确保每个左括号都能被正确闭合。

输入包括六种括号字符:'('、')'、'{'、'}'、'['、']'。有效字符串要求左括号必须以正确的顺序和类型闭合。具体来说:

  • 每次遇到左括号,压入栈。
  • 每次遇到右括号,检查栈是否为空:
    • 如果栈为空,字符串无效。
    • 如果栈不为空,弹出栈顶字符,检查是否对应正确的左括号。
  • 遍历完整个字符串后,栈必须为空才表示闭合顺序正确。
  • 实现代码:

    class Solution:    def isValid(self, s: str) -> bool:        stack = []        for c in s:            if c in '({[':                stack.append(c)            elif c in ')]}':                if not stack:                    return False                top = stack.pop()                if (c == ')' and top != '(') or (c == '}' and top != '{') or (c == ']' and top != '['):                    return False        return len(stack) == 0

    这个方法通过遍历字符串一次,检查每个字符是否正确闭合,从而确保字符串的有效性。逻辑简单且效率高,时间复杂度为 O(n),其中 n 是字符串的长度。

    转载地址:http://vlgyk.baihongyu.com/

    你可能感兴趣的文章
    NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>
    NI笔试——大数加法
    查看>>
    NLog 自定义字段 写入 oracle
    查看>>
    NLog类库使用探索——详解配置
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP的神经网络训练的新模式
    查看>>
    NLP采用Bert进行简单文本情感分类
    查看>>
    NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>
    Nmap扫描教程之Nmap基础知识
    查看>>
    Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
    查看>>
    NMAP网络扫描工具的安装与使用
    查看>>
    NMF(非负矩阵分解)
    查看>>
    nmon_x86_64_centos7工具如何使用
    查看>>
    NN&DL4.1 Deep L-layer neural network简介
    查看>>
    NN&DL4.3 Getting your matrix dimensions right
    查看>>