劍指offer32 II 從上到下列印二叉樹

2021-10-08 06:47:22 字數 1099 閱讀 4504

題目:從上到下按層列印二叉樹,同一層的節點按從左到右的順序列印,每一層列印到乙個list裡。

題目分析

題目的本質是層序遍歷,

題解思路

思路:初始化乙個佇列,非空的root節點入佇列,根據此時佇列的長度,依次出佇列;出佇列的同時將該節點的非空子節點入佇列,迴圈,直到隊列為空。

**

class

solution

res.

add(tmp);}

return res;

}}

for(int i = queue.size(); i > 0; i--),迴圈控制的i初始化為queue.size,每次迴圈-1即使迴圈中往佇列裡加入了新的節點(即下一層的節點),也不會影響上一層節點的輸出。

記錄我的思路…道阻且長啊

迭代思路:初始化乙個佇列,按照層數將節點依次入佇列,隨著該層節點依次出佇列並將val值存入list中,將這些節點的左右子節點分別入佇列,重複此過程,直到隊列為空。

Python劍指offer 分行從上到下列印二叉樹

從上到下按層列印二叉樹,同一層的節點按照從左到右 的順序列印,每一層列印到第一行,例如本題中上乙個問題的二叉樹 輸出形式會是 86 10 5 7 9 11 這道題和前面一道題十分類似,也可以用乙個佇列來儲存要列印的節點。為了把二叉樹的每一行單獨列印到一行裡,我們需要兩個變數 乙個變數表示當前層中還沒...

劍指offer 32 從上到下列印二叉樹

宣告 本系列部落格是對何海濤 劍指offer 的關鍵點總結。從上到下列印出二叉樹的每乙個結點,同一層的結點按照從左到右的順序列印。如二叉樹 8 6 5,7 10 9,11 列印出8 6 10 5 7 9 11 1 使用佇列儲存要訪問的結點 2 從根結點開始,每次列印結點的時候,如果該結點有子結點,則...

劍指offer 分行從上到下列印二叉樹(32題)

題目 分行從上到下列印二叉樹,從上到下按層列印二叉樹,同一層的節點按從左到右的順序列印,每一層列印至一行。解決二叉樹的遍歷問題無外乎就是三種遍歷方法,此處增加了按層遍歷的條件,即廣度優先遍歷。解決廣度優先遍歷,首先想到運用佇列。同理,解決深度優先遍歷,首先想到到家用遞迴。想必這是常識,應形成條件反射...