每日一练:4.有效的括号

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

有效字符串需满足:

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

示例 1:

输入: s = "()"

输出: true

示例 2:

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

输出: true

示例 3:

输入: s = "(]"

输出: false

示例 4:

输入: s = "([])"

输出: true

提示:

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

解决方法

arduino 复制代码
class Solution:
    def isValid(self, s: str) -> bool:
        if len(s) % 2 == 1:
            return False
        pairs = {
            ")": "(",
            "]": "[",
            "}": "{",
        }
        stack = list()
        for ch in s:
            if ch in pairs:
                if not stack or stack[-1] != pairs[ch]:
                    return False
                stack.pop()
            else:
                stack.append(ch)
        return not stack
相关推荐
JunpengHu4 小时前
CSS 滤镜(filter)
前端
时雨__4 小时前
uniapp转鸿蒙app内部测试发布过程——踩坑记录
前端·harmonyos
程序猿20235 小时前
Python每日一练---第三天:删除有序数组中的重复项
开发语言·python
去伪存真5 小时前
Android手机不支持文字转语音window.speechSynthesis API,怎么办?
前端
一只游鱼5 小时前
抖音上的用python实现激励弹窗
开发语言·python
Serendipity_Carl5 小时前
爬虫数据清洗可视化链家房源
python·pandas·matplotlib
行走在电子领域的工匠5 小时前
2.2 常用控件
开发语言·python
天才测试猿5 小时前
Selenium三大等待详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
三年三月5 小时前
自建HTTPS证书
前端·javascript
木易士心5 小时前
如何优化v-if和v-for的性能?
前端·javascript