第20 題 有效括號 python

2021-10-03 22:17:06 字數 629 閱讀 9573

思路:

字典儲存對應括號

遍歷字串:

左括號入棧

右括號分三種情況:

1.若此時棧為空,直接返回false

2.若此時右括號和棧頂左括號不匹配,直接返回false

3.若此時右括號和棧頂左括號匹配,棧頂左括號出棧

遍歷結束後

若棧為空棧,說明所有括號都匹配完成,返回true

否則,返回false

class

solution

:def

isvalid

(self, s:

str)

->

bool

: dic ='}

stack =

for i in s:

if i in dic:

else:if

len(stack)==0

:return

false

elif i == dic[stack.pop()]

:pass

else

:return

false

return

len(stack)

==0

LeetCode第20題,有效的括號

題目 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 解題思想 模仿棧的操作,遇到左括號入棧,遇到右括號檢測棧頂元素是否與該右括號匹...

LeetCode第20題 有效的括號

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

LeetCode第20題 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。思路 時間複雜度o n 將左括號放入棧中,如果是右括號,判斷當前棧頂元素是否和當前有括號型別一致。每有乙個右括號與棧頂左括號匹配,就將棧頂左括號彈出。...