2.分行從上到下列印二叉樹
3. 之字形列印二叉樹
從上到下列印出二叉樹的每乙個節點,同一層的節點按照從左到右的順序列印
上圖中的二叉樹,則依次列印出 [8,6,10,5,7,9,11]
bfs(廣度優先搜尋)
先擴充套件根節點
再依次擴充套件根節點的左右兒子,也就是從左到右擴充套件第二層節點
再依次從左到右擴充套件第三層節點
依次類推
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
return res;}};
從上到下按照層列印二叉樹,同一層的節點按從左到右的順序列印,每一層列印到一行
二叉樹的結果為;
6 10
5 7 9 11
用null
表示一行的結尾
在每一層結束的時候,往queue
裡塞乙個null
做為標記在
queue
讀取乙個數出來後,看看是不是標記符null
,如果是說明這層已經結束。
class solution
else
}return res;}};
請實現乙個函式,按照之字行順序列印二叉樹,即第一行按照從左到右的順序列印,第二行按照從右到左的順序列印,第三行按照從左到右的順序列印。其他行以此類推
二叉樹的結果
10 6
5 7 9 11
按照題2
奇數行 從左到右
偶數行 從右到左【設定乙個 bool 變數】
class solution
else
}return res;}};
劍指offer 32 從上到下列印二叉樹
宣告 本系列部落格是對何海濤 劍指offer 的關鍵點總結。從上到下列印出二叉樹的每乙個結點,同一層的結點按照從左到右的順序列印。如二叉樹 8 6 5,7 10 9,11 列印出8 6 10 5 7 9 11 1 使用佇列儲存要訪問的結點 2 從根結點開始,每次列印結點的時候,如果該結點有子結點,則...
劍指Offer32 從上到下列印二叉樹
class solution vector int res queue que que.push root while que.empty return res 1.常規寫法 o n 遍歷n個結點,o n 需要乙個佇列和乙個一維陣列,最壞情況下平衡二叉樹時,佇列所需空間為n 2,而一維陣列所需的空間...
Python劍指offer 分行從上到下列印二叉樹
從上到下按層列印二叉樹,同一層的節點按照從左到右 的順序列印,每一層列印到第一行,例如本題中上乙個問題的二叉樹 輸出形式會是 86 10 5 7 9 11 這道題和前面一道題十分類似,也可以用乙個佇列來儲存要列印的節點。為了把二叉樹的每一行單獨列印到一行裡,我們需要兩個變數 乙個變數表示當前層中還沒...