【剑指offer】面试题32 - I:从上到下打印二叉树(Java)
從上到下打印出二叉樹的每個節點,同一層的節點按照從左到右的順序打印。
?
例如:
給定二叉樹:?[3,9,20,null,null,15,7],
? ? 3
? ?/ \
? 9 ?20
? ? / ?\
? ?15 ? 7
返回:
[3,9,20,15,7]
?
提示:
節點總數 <= 1000
代碼:
/**
?*?Definition?for?a?binary?tree?node.
?*?public?class?TreeNode?{
?*?????int?val;
?*?????TreeNode?left;
?*?????TreeNode?right;
?*?????TreeNode(int?x)?{?val?=?x;?}
?*?}
?*/
class?Solution?{
????public?int[]?levelOrder(TreeNode?root)?{
????????List<Integer>?list?=?new?ArrayList<Integer>();
????????Queue<TreeNode>?queue?=?new?LinkedList<>();
????????if(root==null)??return?new?int[]{};
????????queue.offer(root);
????????while(!queue.isEmpty())
????????{
????????????TreeNode?p?=?queue.poll();
????????????list.add(p.val);
????????????if(p.left!=null)
????????????{
????????????????queue.offer(p.left);
????????????}
????????????if(p.right!=null)
????????????{
????????????????queue.offer(p.right);
????????????}
????????}
????????int[]?res?=?new?int[list.size()];
????????for(int?i=0;?i<res.length;?i++)?{
????????????res[i]?=?list.get(i);
????????}
????????return?res;
????}
}
總結
以上是生活随笔為你收集整理的【剑指offer】面试题32 - I:从上到下打印二叉树(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Servlet API
- 下一篇: Leetcode--923. 三数之和的