LeetCode 第20题--括号匹配

1. 题目

2.题目分析与思路

3.代码

1. 题目

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

2. 思路

  这道题是简单题,所以使用栈的思想进行括号匹配就可以,要让代码变得简单,可以使用字典,使得条件判断变得简洁。

3. 代码

    

class Solution:
    def isValid(self, s: str) -> bool:
        stack = ['1']
        dic = {'(':')','[':']','{':'}'}
        dic = dict(zip(dic.values(),dic.keys()))
        for i in s:
            if i in dic:
                if stack.pop() != dic[i]:
                    return False
                continue
            stack.append(i)
        return len(stack) == 1

猜你喜欢

转载自www.cnblogs.com/tjpeng/p/11624625.html
今日推荐