LeetCode 20 有效的括號

2021-08-21 03:20:49 字數 1495 閱讀 5941

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

有效字串需滿足:

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

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

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

示例 1:

輸入: "()"

輸出: true

示例 2:

輸入: "(){}"

輸出: true

示例 3:

輸入: "(]"

輸出: false

示例 4:

輸入: "([)]"

輸出: false

示例 5:

輸入: ""

輸出: true

#!/usr/bin/python3

# -*- coding: utf-8 -*-

# @time: 2018/6/29

# @author: xfli

# 方法一

def isvalid(s):

""":type s: str

:rtype: bool

"""x = ('(', '[', '')

z = ('()', '', '{}')

res =

if s is none: return false

for single_str in s:

if single_str in x:

elif single_str in y:

if res is none: # 如果收到乙個右括號,但是res中無左括號,直接返回false

return false

else:

temp = res.pop(-1) + single_str #出棧並與當前括號進行匹配

if temp not in z:

return false

if len(res) != 0: # 檢驗最終是否成對出現

return false

return true

# 方法二

def isvalid2(s):

""":type s: str

:rtype: bool

"""refer = ':'

res =

if s is none: return false

for i in s:

if i in refer and refer[i] == res[-1]:

res.pop()

else:

return len(res) == 0

if __name__ == '__main__':

strs = '([)]'

result = isvalid2(strs)

print(result)

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 輸入 輸出...