当前位置: 首页 > news >正文

【leetcode100】有效的括号

1、题目描述

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

有效字符串需满足:

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

示例 1:

        输入:s = "()"

        输出:true

示例 2:

        输入:s = "()[]{}"

        输出:true

示例 3:

        输入:s = "(]"

        输出:false

2、初始思路

2.1 思路

对于左括号“([{“直接将其加入stack中,在检测到右括号时判断其是否有对应的正确的左括号,如果有,则弹出左括号,如果没有,则说明字符串是无效的,可以直接返回False.

2.2 代码

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

相关文章:

  • 网站 数据库选择如何制作一个宣传网页
  • 织梦怎么制作手机网站源码上海网络推广公司排名
  • 营销型网站建设方案营销推广策划及渠道
  • 贵阳公司做网站上海关键词优化外包
  • ( )是网站可以提供给用户的价值重庆关键词优化平台
  • wordpress当前分类链接seo 推广服务
  • Linux系统:进程状态与僵尸、孤儿进程
  • Day 26:哈希 + 双指针
  • 『Linux』 第十一章 线程同步与互斥
  • 零基础上手Python数据分析 (10):DataFrame 数据索引与选取
  • 滤波---概览
  • [Lc5_dfs+floodfill] 简介 | 图像渲染 | 岛屿数量
  • tomcat部署项目打开是404?
  • 人工智能之数学基础:基于正交变换将矩阵对角化
  • JavaScript 中的闭包及其应用
  • 【零基础入门unity游戏开发——通用篇】SpriteEditor图片编辑器
  • 【CF】Day19——Codeforces Round 904 (Div. 2) C
  • 八股总结(Java)实时更新!
  • Cursor软件设置中文版教程
  • 刷题日记day15-按身高和体重排队
  • swagger问题解决
  • 【常春藤盟校的「社会资本交易所」本质】
  • 什么是Java值传递和引用传递?
  • prism wpf 入门
  • 自动化部署核心概念与实践
  • Redis 哈希表结构详解