從上到下按層列印二叉樹,同一層的節點按從左到右的順序列印,每一層列印到一行思想:和普通的層次遍歷不一樣,這題需要記錄每一層元素的個數,在一趟 while 就遍歷完一層,然後再 add 到結果集裡面,每趟遍歷開始清零下一層元素個數 level ,每次入隊乙個結點,level++
public list
>
levelorder
(treenode root)
queue
queue =
newlinkedlist
();int level =1;
// 該層元素的個數
queue.
offer
(root)
;while
(!queue.
isempty()
)if(node.right != null)
} res.
add(list);}
return res;
}
面試題32 I 從上到下列印二叉樹
從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。例如 給定二叉樹 3 9,20 null,null,15,7 3 9 20 157返回 3 9,20 15,7 思路 該題用到bfs思想,其實跟bfs還是有些差別 因為bfs需要考慮鄰接節點有沒有被遍歷。definition for...
32 從上到下列印二叉樹
從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。例如 給定二叉樹 3,9,20,null,null,15,7 返回 3,9,20,15,7 佇列 definition for a binary tree node.class treenode def init self,x se...
從上到下列印二叉樹
原理是二叉樹的層次遍歷 可以用乙個佇列輔助,先將二叉樹根節點入隊,然後出隊,將該節點存入vector中,之後判斷根節點的左子樹和右子樹是否為空,若不為空,依次入隊。然後出隊,再訪問出隊的結點是否有左右子樹,以此類推。核心 vectorprintfromtoptobottom treenode roo...