您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎樣進行從上到下打印python二叉樹的分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
從上到下按層打印二叉樹,同一層的節(jié)點按從左到右的順序打印,每一層打印到一行。
給定二叉樹: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
[
[3],
[9,20],
[15,7]
]
O(N)
O(N)
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
res = []
if not root:
return res
q = [root]
while q:
# 當(dāng)前層長度
curlen = len(q)
curlevel = []
for node in q[:curlen]:
# 將當(dāng)前層的節(jié)點值依次加入結(jié)果中
curlevel.append(node.val)
# 只追加非空子節(jié)點
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
res.append(curlevel)
# 隊列切片, 開始處理下一層
q = q[curlen:]
return res
上述內(nèi)容就是怎樣進行從上到下打印python二叉樹的分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。