Leetcode talk15有效的括號

2021-10-03 21:54:07 字數 1162 閱讀 6646

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

有效字串需滿足:

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

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

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

示例 1:

輸入:

"()"

輸出:true

示例 2:

輸入:

"(){}"

輸出:true

示例 3:

輸入:

"(]"

輸出:false

示例 4:

輸入:

"([)]"

輸出:false

示例 5:

輸入:

""輸出:

true

思路:

字典儲存對應括號

遍歷字串:

左括號入棧

右括號分三種情況:

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:

stack.

(i)else:if

len(stack)==0

:return false

elif i == dic[stack.

pop()]

: pass

else

:return false

return

len(stack)

==0

到底有多二 (15 分)

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙個...

到底有多二 (15 分

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙個...

到底有多二 15 分

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙個...