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