二叉樹層序遍歷 求二叉樹的層序遍歷

2021-10-12 07:54:09 字數 877 閱讀 9143

給定乙個二叉樹,返回該二叉樹層序遍歷的結果,(從左到右,一層一層地遍歷)

例如:給定的二叉樹是,

該二叉樹層序遍歷的結果是

[[3],

[9,20],

[15,7]

]示例1

輸入:

返回值: [[1],[2]]

示例2輸入:

返回值: [[1],[2,3],[4,5]]

解題思路:重點是如何把在一層的節點放到一起,設定乙個引數專門放一層的節點

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none##

# @param root treenode類

# @return int整型二維陣列

#class solution:

def levelorder(self , root ):

# write code here

if not root:

return

cur = [root]

node =

res =

while cur:

for i in cur:

if i.left:

elif i.right:

cur, node = node,

return res

層序遍歷二叉樹

要求 設計乙個演算法層序遍歷二叉樹 同一層從左到右訪問 我寫了乙個演算法 用乙個佇列儲存被訪問的當前節點的左右孩子以實現層序遍歷。status hierarchybitree bitree t,status visit telemtype e destroyqueue q 釋放佇列空間 return...

二叉樹層序遍歷

主要流程 確定root非空 根指標進佇列 佇列非空就一直迴圈 依次掃瞄目前佇列中所有元素 新增的不算 從佇列取出第一元素 將值放入結果vector中 判斷左右子節點非空,並依次入隊 將本次結果放入二維陣列中 如果需要按層逆序輸出的話,在這裡將二維結果倒排一下 返回二維結果 vector levelo...

層序遍歷二叉樹

給定一棵二叉樹,要求分層遍歷該二叉樹,即從上到下按層次訪問該樹,每一層單獨輸出一行,每一層要求訪問的順序為從左到右。我們在遍歷的過程中將該層節點的孩子節點壓入乙個佇列,這樣就可以實現從上到下一層一層地遍歷該二叉樹。c 的程式描述如下 cpp view plain copy print?void pr...