[TOC]

题目

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

有效字符串需满足:

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

示例 1:

输入: "()"输出: true

示例 2:

输入: "()[]{}"输出: true

示例 3:

输入: "(]"输出: false

示例 4:

输入: "([)]"输出: false

示例 5:

输入: "{[]}"输出: true

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/probl...
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

class Solution(object):    def isValid(self, s):        """        :type s: str        :rtype: bool        """        li = []        if s == "":            return True        if len(s) == 0 or s[0] in ')''}'']':            return False        for i in s:            if i in '(''{''[':                li.append(i)            else:                a = ""                if len(li) == 0:                    return False                if i == ")":                    a = "("                if i == "}":                    a = "{"                if i == "]":                    a = "["                if li[-1] == a:                    li.pop()                else:                    return False        if li:            return False        else:            return True

执行效果

  • 执行结果:通过
  • 执行用时 :32 ms, 在所有 Python 提交中击败了71.50%的用户
  • 内存消耗 :11.7 MB, 在所有 Python 提交中击败了36.20%的用户