從上到下按層列印二叉樹,同一層的結點按從左到右的順序列印,每一層列印到一行。
樣例
輸入如下圖所示二叉樹[8, 12, 2, null, null, 6, null, 4, null, null, null]
8/ \
12 2/6
/4輸出:[[8], [12, 2], [6], [4]]
時間複雜度o(n)
class
solution
q.offer
(root)
; q.
offer
(null)
;while
(q.size()
!=0) q.
poll()
; list.
add(list1)
; list1 =
newarraylist()
; q.
offer
(null)
;continue;}
treenode tmp = q.
peek()
; q.
poll()
; list1.
add(tmp.val);if
(tmp.left!=null)
if(tmp.right!=null)
}return list;
}}
不分行從上往下列印二叉樹
從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。樣例輸入如下圖所示二叉樹 8,12,2,null,null,6,null,4,null,null,null 8 12 2 6 4輸出 8,12,2,6,4 就是寬度優先遍歷,如果該節點是left得想辦法遍歷完了他之後去找他的右兄弟 ...
從上往下列印二叉樹
從上往下列印二叉樹需要乙個雙端佇列,stl提供了deque容器符合我們的要求,和測試 如下 include include include using namespace std struct binarytreenode binarytreenode createbinarytreenode in...
從上往下列印二叉樹
題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。思路 用佇列儲存將要列印的節點,出佇列時,將左節點和右節點分別加入佇列當中,直到隊列為空,列印完畢。public arraylist integer printfromtoptobottom treenode root queue qu...