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
相关推荐
u01102251213 小时前
如何解决Oracle 12c以上版本的ORA-65096_C##公共用户前缀限制
jvm·数据库·python
AGV算法笔记13 小时前
【具身智能研究进展】RoboBrain 2.5:让机器人真正理解“空间”和“时间”的大脑模型
算法·3d·机器人·具身智能·感知算法
woxihuan12345613 小时前
JavaScript中利用Range对象实现复杂的文本选择操作
jvm·数据库·python
love在水一方13 小时前
【InternNav】 工程详细分析
人工智能·算法·机器学习
赏金术士13 小时前
Kotlin 从入门到进阶 之委托 模块(六)
python·微信·kotlin
zhoutongsheng13 小时前
CSS如何使用-hover显示图片文字说明_利用--after实现图文叠加效果
jvm·数据库·python
2301_7838486513 小时前
CSS解决浮动元素导致的布局闪烁_稳定容器布局高度
jvm·数据库·python
m0_7407963613 小时前
Workerman5.0协程实战:PHP高并发新标准
jvm·数据库·python
2301_7693406713 小时前
如何在 CSS 中实现元素的绝对定位,使其不受窗口尺寸变化影响
jvm·数据库·python
m0_7020365313 小时前
防止SQL注入的运维实践_实时清理数据库缓存与历史记录
jvm·数据库·python