20. 有效的括號-----leetcode刷題(python解題)

[TOC]python

題目

給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。網絡

有效字符串需知足:app

  • 左括號必須用相同類型的右括號閉合。
  • 左括號必須以正確的順序閉合。
  • 注意空字符串可被認爲是有效字符串。

示例 1:code

輸入: "()"
輸出: true

示例 2:內存

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

示例 3:leetcode

輸入: "(]"
輸出: false

示例 4:字符串

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

示例 5:get

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

來源:力扣(LeetCode)
連接:https://leetcode-cn.com/probl...
著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。io

解答

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%的用戶
相關文章
相關標籤/搜索