20 有效的括號

2021-09-27 03:20:12 字數 1059 閱讀 9037

找到字串中所有存在的括號對兒形式,把他們換位空字元,這樣操作下來,如果是有效的括號,那麼字串最後一定為空,不為空說明無效。

class solution(object):

def isvalid(self, s):

if not s:

return true

while

'{}'

in s or ''

in s or '()'

in s: #檢查是否有這樣的括號對兒

s = s.replace(

'{}',''

) s = s.replace(

'',''

) s = s.replace(

'()',''

)return s ==

''

借用乙個輔助棧,利用雜湊表對字串進行遍歷。

邊界條件 **

class solution:

def isvalid(self, s: str) -> bool:

if len(s) % 2 != 0:

return false

stack =

['?'

] d =

', '['

:']', '?'

:'?'

}for i in s:

if i in d: #遇到左括號,就把對應的右括號壓入棧

) else: #遇到右括號,就彈出,看是否相等

if stack.pop(

)!= i:

return false

return len(stack)

== 1

20 有效括號

1.題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。2.示例 輸入 輸出 true輸入 輸出 false3.思路 可以採用棧來解決,第一步 判斷棧是否空,為空則進乙個括號,若不為空,則判斷當前括號和棧頂元素是否匹配,不...

20 有效的括號

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

20 有效的括號

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