給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 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 本題就請你計算乙個...