Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 1.21 KB

File metadata and controls

62 lines (46 loc) · 1.21 KB

20.有效的括号

https://leetcode-cn.com/problems/valid-parentheses/

难度:简单

题目:

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

有效字符串需满足:

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

示例:

示例 1: 输入:s = "()" 输出:true

示例2: 输入:s = "()[]{}" 输出:true

示例3: 输入:s = "(]" 输出:false

示例4: 输入:s = "([)]" 输出:false

示例5: 输入:s = "{[]}" 输出:true

提示: 1 <= s.length <= 104 s 仅由括号 '()[]{}' 组成

分析:

反序设置括号关系字典,然后stack进行循环判断

解题:

class Solution:
    def isValid(self, s: str) -> bool:
        brackets = {')': '(', '}': '{', ']': '['}
        stack = []
        for i in s:
            if not stack:
                stack.append(i)
            elif stack[-1] == brackets.get(i):
                stack.pop()
            else:
                stack.append(i)
        return False if stack else True

欢迎关注我的公众号: 清风Python

我的个人博客:https://qingfengpython.cn