思路:本題括號排序特點和剛好與出入棧特點類似,因此考慮用出入棧來解決這個問題
判斷字串s是否為空,若為空返回f。
判斷字串的length是否為奇數,若為奇數返回f。
建立字典,將左括號(』(』 , 『[』 , 『』)設定為value,一一對應。
如果字元a是左括號,則入棧,否則通過字典判斷括號對應關係,若棧頂出棧括號與當前遍歷括號不對應,則直接返回f。
**:
class
solution
:def
isvalid
(self, s:
str)
->
bool:if
len(s)%2
!=0:return
false
if s is
none
:return
false
dic =',
'[':
']',
'(':
')'}
#建立字典
stack =
[' '
]#初始化棧
for i in s:
if i in dic:
#判斷i是否為左括號
#入棧elif dic[stack.pop()]
!= i:
#棧頂出棧括號與當前遍歷括號不對應
return
false
return
len(stack)
==1
leetcode 有效的括號 python3
有效的括號 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入...
力扣的有效的括號解法(Python3)
題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5...
20 有效的括號(Python)
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 1.左括號必須用相同型別的右括號閉合。2.左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。class solution object defisvalid self,s type s str rtype bool ifnot s r...