力扣刷题之路 20. 有效的括号Python解

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。

示例 1:

输入:s = “()”
输出:true
示例 2:

输入:s = “()[]{}”
输出:true
示例 3:

输入:s = “(]”
输出:false
示例 4:

输入:s = “([)]”
输出:false
示例 5:

输入:s = “{[]}”
输出:true

提示:

1 <= s.length <= 104
s 仅由括号 ‘()[]{}’ 组成

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses

解:

def isValid(self, s: str) -> bool:
        if len(s) % 2 == 1:
            return False
        d = {
     
            '(': ')',
            '{': '}',
            '[': ']',
            None: None
        }
        l = [None]
        for i in s:
            if i in d:
                l.append(i)
            elif d[l.pop()] == i:
                pass
            else:
                return False
        # l.remove(None)
        return not l[1:]

你可能感兴趣的:(力扣刷题之路,leetcode,python,算法,字符串)