二叉樹的層序遍歷

2021-07-30 21:57:06 字數 642 閱讀 8723

1.問題描述

給出一棵二叉樹,返回其節點值的層次遍歷(逐層從左往右訪問)樣例

給一棵二叉樹

3

/ \9 20

/ \

15 7

返回他的分層遍歷結果:

[

[3],

[9,20],

[15,7]

]

2.解題思路

將每一層的節點按從左往右儲存在佇列裡,然後以此訪問該佇列每乙個節點的左右子樹,節點出隊,以此儲存,該層節點出隊後,以向量方式儲存在向量裡。下一層節點進隊。依次遞迴。

3.**實現

/*** definition of treenode:

* class treenode

* }*/

class solution

if(p->right)

}r.push_back(l);

}return r;}};

4.感想

重點在於層序遍歷需要運用佇列來儲存每一層的節點。

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

給定乙個二叉樹,返回該二叉樹層序遍歷的結果,從左到右,一層一層地遍歷 例如 給定的二叉樹是,該二叉樹層序遍歷的結果是 3 9,20 15,7 示例1 輸入 返回值 1 2 示例2輸入 返回值 1 2,3 4,5 解題思路 重點是如何把在一層的節點放到一起,設定乙個引數專門放一層的節點 class t...

層序遍歷二叉樹

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

二叉樹層序遍歷

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