二叉樹的層次遍歷

2021-07-30 12:50:36 字數 655 閱讀 9150

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

樣例:給一棵二叉樹 :

3/ \

9  20

/  \

15   7

返回他的分層遍歷結果:

[[3],

[9,20],

[15,7]

]解題思路:這個題與普通的層序遍歷之間的區別在於,要把每一層的節點分別輸出。我們可以把每一層的節點都放到乙個vector向量裡面,然後再把每一層的vector都放入到乙個總的vector裡面。

實現**:

/*** definition of treenode:

* public class treenode

* }*/

class solution

queueq;

q.push(root);

while (!q.empty())

if (head->right != null)

}result.push_back(level);

}return result;}};

做題感想:首先會用到佇列的知識,對於每乙個節點首先讓它入隊然後再出隊。其次怎樣把每一層的節點放入到vector當中,當時寫的時候出來好多錯誤,不能正確的判斷,怎樣到一層的結束。後來費了老鼻子勁才寫對。

層次遍歷二叉樹

問題 假定根節點位於第0層 1.層次遍歷二叉樹 每層換行分開 2.層次遍歷二叉樹指定的某層 本文 例如 上圖中1.123 4567 82.第三層 78可以看出得出第二問的解,第一問迎刃而解了,所以從問題二下手 1.層次遍歷二叉樹指定的某層 可以得出這樣的乙個結論 遍歷二叉樹的第k層,相當於遍歷二叉樹...

二叉樹層次遍歷

題目描述 從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。思路 二叉樹的層次遍歷,利用棧的先進後出的特性。struct treenode class solution res.push back temp while m.empty m中是從左往右入棧,這裡把它反過來,s中是從右往左...

二叉樹層次遍歷

層次遍歷二叉樹,每一次儲存在list中,結果按從葉子層到根,從左到右的順序儲存 一 class solution return lists 相當於在先序的基礎上改進,level是每個node所在的層次。如果lists大小和level相等,說明開始新一層的儲存。如果不等,則直接把值存入相應層次的lis...