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