LeetCode-20 括号匹配
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: "()"
输出: true
示例 2:
输入: "()[]{}"
输出: true
示例 3:
输入: "(]"
输出: false
示例 4:
输入: "([)]"
输出: false
示例 5:
输入: "{[]}"
输出: true
1 class Solution: 2 def isValid(self, s: str) -> bool: 3 stack = [] #以列表表示一个栈,先进(append方法)后出(pop方法) 4 dict = {'{':'}','[':']','(':')'} 5 for item in s: #1、遍历字符串中的每一个字符, 6 if item in dict: #2、如果是左侧的括号类型,则进栈 7 stack.append(item) 8 elif len(stack) == 0 or dict[stack.pop()] != item: #3、如果栈已经空了,或者此时的括号不是出栈的括号,那么就返回False 9 return False 10 return len(stack) == 0 #4、如果栈为空则返回True 反之返回False
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

浙公网安备 33010602011771号