題目描述:從上往下列印出二叉樹的每個節點,同層節點從左至右列印。
總結:
二叉樹的層序遍歷,借助佇列queue的先進先出來實現。
(1).將二叉樹從根節點開始按照從上到下、從左到右入佇列;
建立佇列:queue<...> q;
入隊:q.push();
是否為空:q.empty()
列尾增加元素: q.push()
(2).然後將隊首位置元素出隊列印,然後刪除該元素;
輸出現有元素的個數: q.size()
第乙個元素: q.front()
最後乙個元素: q.back()
清除第乙個元素: q.pop()
/*
struct treenode
};*/
class solution
return vec;
}};
22 從上往下列印二叉樹
題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。題目思路 建立乙個temp佇列,將根節點放入到temp佇列中,從佇列中取元素,放入到res佇列中,當取元素時判斷取的元素有沒有子節點,如果有子節點,則將子節點加入到temp佇列中.python class solution def pr...
列印容器 22 從上往下列印二叉樹
從上往下列印出二叉樹的每個節點,同層節點從左至右列印。1.思路 舉例說明 如上圖所示,因為按層列印的順序決定應該先列印根結點,所以我們從樹的根結點開始分析。為了接下來能夠列印值為8的結點的兩個子結點,我們應該在遍歷該結點時把值為6和10的兩個結點儲存到乙個容器裡,現在容器內就有兩個結點了。按照從左到...
JZ22 從上往下列印二叉樹
題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。題解 分析題目,則為層序遍歷。需要乙個佇列。1 根結點入佇列 2 當佇列不為空時,根結點出佇列,並將其值存入 list 3 如果此時的結點有左右孩子,則分別將左右孩子入佇列 public arraylist printfromtopto...