發現左括號可以通過基本資料結構棧來進行處理,每遇到乙個「)」,都會從棧中拿出乙個「(」與之相抵消。
直接上**:
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,請你將其分成兩個不相交的有效...