算法学习打卡计划

leetcode第二十题 —— 有效的括号

2019-11-23  本文已影响0人  不分享的知识毫无意义

1.题目

原题:

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

例子:

输入: "()[]{}"
输出: true
解释:是一一匹配的对应关系

2.解析

这道题算是一道休闲题,没有特别复杂的情况,由于是两个字符串的匹配,可以考虑用堆栈的数据结构。
在做题之前先把可能出现的情况考虑清楚,再下手:

3.python代码

class Solution:
    def isValid(self, s):
        charcter = {'(': ')', '{': '}', '[': ']'}
        if len(s) % 2 != 0:
            return False
        if not s:
            return True
        stack = []
        for i in s:
            if i in charcter:
                stack.append(i)
            else:
                if not stack or i != charcter[stack[-1]]:
                    return False
                stack.pop()
        return len(stack) == 0
上一篇下一篇

猜你喜欢

热点阅读