演算法程式設計4 有效的括號

2021-09-26 05:18:33 字數 560 閱讀 2786

class solution:

def isvalid(self, s):

a="} #包含括號的型別

b= #空列表

for i in s: #遍歷給定括號字串

if not b: #若列表b為空,將當前字元新增到列表b中

else: #若b不空

if b[-1]+i in a: #判斷前一字元和當前字元是否為完整括號

b.pop() #如果是,將前一字元移除b

else:

if not b:

return true #如果b最終為空,則返回true

else:

return false #否則,返回false

最終提交結果:

思考:本解題方法利用了資料結構中棧的概念,若棧為空,將當前符號新增到棧中,若有與棧頂相匹配的符號,出棧。

4 有效的括號

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

演算法 有效的括號

偽 1.得到字串.2.建立乙個linkedlist 用來模擬stack 2.非空判斷,空返回true 3.遍歷字串 如果第一次碰到三個括號 第乙個括號是右括號必定是錯誤的 如果碰到左括號,給linkedlist中新增對應的右括號,碰到右括號,判斷linkedlist末尾的右括號是否與其匹配,匹配則刪...

演算法 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。1 輸入 輸出 false 2 輸入 輸出 true 在最開始看到該題時是想將輸入的字串都先放入棧中,然後對棧進行操作 但是這種方法有點複雜。後邊實在...