從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。
例如:給定二叉樹: [3,9,20,null,null,15,7],
返回:[3,9,20,15,7]
思路:因為要求是同一層的結點按照從左到右的順序列印,所以我們對二叉樹進行廣度優先搜尋,並且利用佇列的先進先出的特性來實現。
(1)我們用佇列queue來新增結點,並用乙個列表list來新增結點的值;
(2)當根結點root為空時,返回乙個空陣列;
(3)我們採用乙個迴圈來往queue裡新增結點,迴圈的終止條件為queue為空;
(4)將隊首元素出隊,記為node;
(5)將node.val新增到list中;
(6) 若 node 的左(右)子節點不為空,則將左(右)子節點加入佇列 queue;
(7)建立乙個陣列res,將list的元素迴圈新增到res中並列印返回。
class
solution
queue
queue =
newlinkedlist
<
>()
; list
list =
newarraylist
<
>()
; queue.
add(root)
;while
(!queue.
isempty()
)if(node.right != null)
}int
res =
newint
[list.
size()
];for(
int i =
0; i < list.
size()
; i++
)return res;
}}
CUDA學習(五十二)
例子 每個執行緒的分配 include include global void malloctest int main 結果 thread 0 got pointer 00057020 thread 1 got pointer 0005708c thread 2 got pointer 000570...
C 程式設計(五十二) 有序列表
有序列表 如果需要基於對所有集合排序,就可以使用sortedlist類.這個類按照鍵給元素排序.這個集合中的值和鍵都可以使用任意型別.下面的例子建立了乙個有序列表,其中鍵和值型別都是string.預設的建構函式建立了乙個空列表,再用add 方法新增書.使用過載的建構函式.可以定義列表的容量,傳遞實現...
靠自己 寫出我心(五十二)
靠自己 從小我們都生活在父母塑造的溫室大棚裡,以至於好多事情都有了依賴別人的習慣,久而久之,我們就失去了一種特別重要的能力 靠自己 說起來感覺很簡單,自己的事情自己做,自己的責任自己承擔,自己的未來自己規劃,捫心自問,你做到了多少?工作要靠自己。工作中我們一定要提公升自己的能力,屬於自己職責範圍內的...