博客
关于我
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/

    你可能感兴趣的文章
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置https(一)—— 自签名证书
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nginx 配置清单(一篇够用)
    查看>>
    Nginx 配置解析:从基础到高级应用指南
    查看>>
    nginx+php的搭建
    查看>>
    nginx+tomcat+memcached
    查看>>
    nginx+Tomcat性能监控
    查看>>
    nginx+uwsgi+django
    查看>>
    Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
    查看>>
    nginx-vts + prometheus 监控nginx
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>
    Nginx之二:nginx.conf简单配置(参数详解)
    查看>>
    Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
    查看>>
    Nginx代理初探
    查看>>
    nginx代理地图服务--离线部署地图服务(地图数据篇.4)
    查看>>
    Nginx代理外网映射
    查看>>
    Nginx代理模式下 log-format 获取客户端真实IP
    查看>>
    Nginx代理解决跨域问题(导致图片只能预览不能下载)
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>