美文网首页
Q20 - Easy - 有效的括号

Q20 - Easy - 有效的括号

作者: 1f872d1e3817 | 来源:发表于2019-02-14 21:23 被阅读0次

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true
示例 2:

输入: "()[]{}"
输出: true
示例 3:

输入: "(]"
输出: false
示例 4:

输入: "([)]"
输出: false
示例 5:

输入: "{[]}"
输出: true

class Solution:
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        if len(s) % 2 == 1:
            return False
        if len(s) == 0:
            return True
        d = {'{': '}', '[': ']', '(': ')'}
        stack = []
        for i in s:
            # in stack
            if i in d:
                stack.append(i)
            else:
                if not stack or d[stack.pop()] != i:
                    return False
        return stack ==[]

相关文章

  • Q20 - Easy - 有效的括号

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

  • 认认真真刷Leetcode:Valid Parentheses

    Valid Parentheses (有效的括号问题) 问题难度:easy 题目描述: 细节: 1:开放的括号必须...

  • 1021. 删除最外层的括号

    EASY!【题目描述】 有效括号字符串为空 ("")、"(" + A + ")" 或 A + B,其中 A 和 B...

  • 互联网秋招刷题leetcode总结——栈与队列

    栈 括号类问题 20. 有效的括号(easy) 遍历字符串,每次与栈顶括号进行匹配,匹配成功栈顶弹出,否则继续压入...

  • 20. 有效的括号(easy)

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左...

  • 回溯算法和深度优先搜索(二)

    先看一道题目: 括号生成。 输入一个整数 ,罗列出所有有效的括号组合。有效的括号组合是指 左括号开始,右括号结束,...

  • 括号生成 (有效括号)

    题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入...

  • 【栈】---括号匹配(easy)

    思路:栈,先进后出,每次压栈的是对比,一对弹出,最后看空栈

  • 有效括号

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

  • 有效括号

    import java.util.*; /** 给定一个只包括 '(',')','{','}','[',']' 的...

网友评论

      本文标题:Q20 - Easy - 有效的括号

      本文链接:https://www.haomeiwen.com/subject/gbwyeqtx.html