Leetcode 20. 有效的括号

心路历程:

看到括号问题直接想到栈,但是纠结了一下题目中给出的 '2. 左括号必须以正确的顺序闭合' 这一约束,其实这句话的意思简化了题目要求,'[(])'这样的字符串就不满足要求了。

注意的点:

1、注意最后需要栈为空的时候才能返回true,否则代表左括号可能会多余。

解法:栈

python 复制代码
class Solution:
    def isValid(self, s: str) -> bool:
        # 栈
        from collections import deque
        stack = deque([])
        lefts, rights = ['(', '[', '{'], [')', ']', '}']
        mappings_right = {')':'(', ']':'[', '}':'{'}
        for c in s:
            if c in lefts:
                stack.append(c)
            else:
                if len(stack) == 0: return False
                if stack.pop() != mappings_right[c]: return False
        if len(stack) == 0: return True
        else: return False
相关推荐
咩咩不吃草8 分钟前
机器学习不平衡数据处理三招:k折交叉验证、下采样与过采样实战
人工智能·算法·机器学习·下采样·过采样·k折交叉验证
weixin_452159559 分钟前
模板编译期条件分支
开发语言·c++·算法
多恩Stone9 分钟前
【3DV 进阶-11】Trellis.2 数据处理与训练流程图
人工智能·pytorch·python·算法·3d·aigc·流程图
老师用之于民10 分钟前
【DAY20】数据结构基础:(算法)排序、折半查找的函数实现
数据结构·算法·排序算法
一起养小猫13 分钟前
Flutter for OpenHarmony 进阶:推箱子游戏算法与关卡设计深度解析
算法·flutter·游戏
民乐团扒谱机15 分钟前
【微实验】Zhang-Suen 快速并行细化算法与MATLAB实现
人工智能·学习·算法·计算机视觉·数学建模·matlab
iAkuya17 分钟前
(leetcode)力扣100 60单词搜索(回溯)
算法·leetcode·职场和发展
卖报的大地主18 分钟前
强化学习在图像生成中的应用:范式演进、算法机制与前沿展望
算法
圣保罗的大教堂21 分钟前
leetcode 3637. 三段式数组 I 简单
leetcode
ʚB҉L҉A҉C҉K҉.҉基҉德҉^҉大22 分钟前
C++中的策略模式进阶
开发语言·c++·算法