題目描述
從上往下列印出二叉樹的每個節點,同層節點從左至右列印。
題目思路:
建立乙個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...