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
相关推荐
在风中的意志几秒前
[数据库SQL] [leetcode-175] 175. 组合两个表
数据库·sql·leetcode
圣保罗的大教堂几秒前
leetcode 1970. 你能穿过矩阵的最后一天 困难
leetcode
yugi9878386 分钟前
MFCC特征提取与SVM训练语音识别
算法·支持向量机·语音识别
yuanmenghao9 分钟前
MSAC 算法详解以及与 RANSAC 对比示例
算法·自动驾驶·聚类·ransac·msac·系统辨识‘
造夢先森10 分钟前
常见数据结构及算法
数据结构·算法·leetcode·贪心算法·动态规划
listhi52018 分钟前
基于蒙特卡洛方法处理电力系统负荷不确定性的解决方案
算法
iAkuya19 分钟前
(leetcode)力扣100 29删除链表的倒数第 N 个结点(双指针)
算法·leetcode·链表
@卞31 分钟前
01_树的 dfs 序
算法·深度优先
isyoungboy34 分钟前
洪水法实现Region RLE的fill_up算法
算法
2401_8414956437 分钟前
自然语言处理实战——基于BP神经网络的命名实体识别
人工智能·python·神经网络·算法·机器学习·自然语言处理·命名实体识别