關於括號巢狀驗證程式的思考

2021-09-12 12:04:38 字數 867 閱讀 4970

發現左括號可以通過基本資料結構棧來進行處理,每遇到乙個「)」,都會從棧中拿出乙個「(」與之相抵消。

直接上**:

from pythonds.basic.stack import stack

defparchecker

(symbolstring)

: s = stack(

) balanced =

true

index =

0while index <

len(symbolstring)

and balanced:

symbol = symbolstring[index]

if symbol ==

'(':

# 如果讀到了"(",就把它壓入棧中

s.push(symbol)

else

:if s.isempty():

# 如果讀到的是")",且棧中沒有元素了,說明)一定是多餘的,平衡被打破

balanced =

false

else

: s.pop(

)# 如果讀到的是「)」且棧中還有元素,可以從棧中壓出乙個元素

index = index +

1if balanced and s.isempty():

return

true

# 如果棧中全空而且平衡沒被打破,說明括號匹配

else

:return

false

# 不然括號不匹配

print

(parchecker(

'((())))'

))

關於HTML巢狀規則的思考

首先先羅列一下html的巢狀規則。塊能包含塊和內聯,內聯只能包含內聯 塊元素可以包含內聯元素或某些塊元素,但內聯元素卻不能包含塊元素,它只能包含其它的內聯元素 標題和段落中不能包含塊 有幾個特殊的塊級元素只能包含內嵌元素,不能再包含塊級元素,這幾個特殊的標籤是 h1 h2 h3 h4 h5 h6 p...

1111 有效括號的巢狀深度

有效括號字串 僅由 和 構成,並符合下述幾個條件之一 空字串 連線,可以記作 ab a 與 b 連線 其中 a 和 b 都是有效括號字串 巢狀,可以記作 a 其中 a 是有效括號字串 類似地,我們可以定義任意有效括號字串 s 的 巢狀深度 depth s s 為空時,depth 0 s 為 a 與 ...

Leetcode 有效括號的巢狀深度

有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。給你乙個 有效括號字串 seq,請你將其分成兩個不相交的有效...