JZ22 從上往下列印二叉樹

2021-10-08 18:38:53 字數 433 閱讀 9518

題目描述

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。

題解:

分析題目,則為層序遍歷。需要乙個佇列。

(1)根結點入佇列

(2)當佇列不為空時,根結點出佇列,並將其值存入 list

(3)如果此時的結點有左右孩子,則分別將左右孩子入佇列

public arraylist

printfromtoptobottom

(treenode root)

queue.offer (root)

;while

(!queue.isempty ())

if(node.right != null)

}return list;

}

22 從上往下列印二叉樹

題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。題目思路 建立乙個temp佇列,將根節點放入到temp佇列中,從佇列中取元素,放入到res佇列中,當取元素時判斷取的元素有沒有子節點,如果有子節點,則將子節點加入到temp佇列中.python class solution def pr...

列印容器 22 從上往下列印二叉樹

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。1.思路 舉例說明 如上圖所示,因為按層列印的順序決定應該先列印根結點,所以我們從樹的根結點開始分析。為了接下來能夠列印值為8的結點的兩個子結點,我們應該在遍歷該結點時把值為6和10的兩個結點儲存到乙個容器裡,現在容器內就有兩個結點了。按照從左到...

從上往下列印二叉樹

從上往下列印二叉樹需要乙個雙端佇列,stl提供了deque容器符合我們的要求,和測試 如下 include include include using namespace std struct binarytreenode binarytreenode createbinarytreenode in...