The Ten Day 有效的括號

2022-04-09 22:01:53 字數 2749 閱讀 6767

class

solution(object):

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

有效字串需滿足:

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

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

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

示例 1:

輸入: "()"

輸出: true

示例 2:

輸入: "(){}"

輸出: true

示例 3:

輸入: "(]"

輸出: false

示例 4:

輸入: "([)]"

輸出: false

示例 5:

輸入: ""

輸出: true

""""""

@author : jiyanjiao

@date :2020-4-8

"""#

基本解法

@staticmethod

defisvalid(s):

""":type s: str

:rtype: bool

"""for i in

s:

if i == "("

: index_begin = s.find("("

) index_end = s.find(")"

)

if index_end == -1:

print("

false")

return

index_r1 = s.find("["

, index_begin, index_end)

index_r2 = s.find("

", index_begin, index_end)

if index_r1 == -1 and index_r2 == -1 and index_r3 == -1 and index_r4 == -1:

print("

true")

else

:

print("

false")

elif i == "["

: index_begin = s.find("["

) index_end = s.find("]"

) index_r1 = s.find("("

, index_begin, index_end)

index_r2 = s.find("

", index_begin, index_end)

if index_r1 == -1 and index_r2 == -1 and index_r3 == -1 and index_r4 == -1:

print("

true")

else

:

print("

false")

elif i == "")

index_r1 = s.find("("

, index_begin, index_end)

index_r2 = s.find("["

, index_begin, index_end)

index_r3 = s.find(")"

, index_begin, index_end)

index_r4 = s.find("]"

, index_begin, index_end)

if index_r1 == -1 and index_r2 == -1 and index_r3 == -1 and index_r4 == -1:

print("

true")

else

:

print("

false")

#其他作者解法

@staticmethod

defisvalid1(s):

""":type s: str

:rtype: bool

"""stack = #

設定乙個列表,把該列表當做棧來使用即可。

dic =

': '

#使用字典儲存括號,並且右括號為key,左括號為value

for char in

s:

if char in dic.values(): #

左括號就入棧

elif char in dic.keys(): #

有右括號的話就進行比較,

if stack == or dic[char] !=stack.pop():

return

false

else

:

return false #

不再字典中的輸入直接輸出錯誤

return stack == #

如果棧最後是空的,那麼則符合要求,輸出true,如果不是,則輸出false,使用乙個條件表示式

if__name__ == '

__main__':

s =solution

ss = "(]"

s.isvalid1(ss)

有效的括號

題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解題思路 坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,注意空字串可被認為是有效字串。被吃掉了 最後提交的 執...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...