美文网首页
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 - 有效的括号

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