22 從上往下列印二叉樹

2021-10-01 18:27:36 字數 911 閱讀 7656

題目描述

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

題目思路:

建立乙個temp佇列,將根節點放入到temp佇列中,從佇列中取元素,放入到res佇列中,當取元素時判斷取的元素有沒有子節點,如果有子節點,則將子節點加入到temp佇列中.

python:

class

solution

:def

printfromtoptobottom

(self, root)

:if root is

none

:return

res =

temp =

[root]

while temp:0]

.val)

if temp[0]

.left:0]

.left)

if temp[0]

.right:0]

.right)

temp.pop(0)

return res

c++:

#include

#include

#include

using

namespace std;

struct treenode };

class

solution

queue> temp;

temp.

push

(root)

;while

(!temp.

empty()

)if(temp.

front()

->right)

temp.

pop();

}return res;}}

;

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

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

從上往下列印二叉樹

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

從上往下列印二叉樹

題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。思路 用佇列儲存將要列印的節點,出佇列時,將左節點和右節點分別加入佇列當中,直到隊列為空,列印完畢。public arraylist integer printfromtoptobottom treenode root queue qu...