LeetCode 20 有效的括號

2022-06-17 23:09:13 字數 1415 閱讀 7404

題目:

給定乙個只包括 '(',')','','[',']' 的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

注意空字串可被認為是有效字串。

示例 1:

輸入: "()"

輸出: true

示例 2:

輸入: "(){}"

輸出: true

示例 3:

輸入: "(]"

輸出: false

示例 4:

輸入: "([)]"

輸出: false

示例 5:

輸入: ""

輸出: true

思路:

這個題目很有意思,隨便寫下幾個符合條件的str,你就會發現乙個規律,當乙個符合要求的str出現的時候,它滿足這樣的情況:

"" "" "..."

-->遇見左開右閉就remove,最後剩下的個數必為0,不為0的情況那就是不符合條件返回false

所以,我們是不是可以這樣做,從左第乙個字元算起,遇見相同的閉字元就remove,經歷字串長度的遍歷後如果最後元素為0,那麼返回true,否則false。

方法一:

class solution(object):

def isvalid(self, s):

""":type s: str

:rtype: bool

"""res =

dict_arr = ": "

for char in s:

if char in dict_arr:

if res: #閉存在且res不為空就remove當前res最後乙個元素(開字元)

temp = res.pop()

if dict_arr[char] !=temp :#特殊情況,"(]"return false

return false

else: #為空,卻找到閉字元,則不符合情況return false

return false

else:

return not res

執行用時:16 ms, 在所有 python 提交中擊敗了94.28%的使用者

記憶體消耗:12.7 mb, 在所有 python 提交中擊敗了5.00%的使用者

LeetCode20有效括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...

Leetcode 20 有效括號

leetcode 20 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true pthon 列表 如 a a b 字典 如 dict not ...

leetcode 20 有效括號

怎麼減少if語句,判斷是否是某乙個值,將值存進map中,是否在map中,若在,則是 匹配用map 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出...