题目链接:剑指 Offer 32 - I. 从上到下打印二叉树
题目描述:
最简单的层序遍历,迭代一下就OK了
/**
* 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) {
if(root==null)return new int[0];
Queue<TreeNode> queue=new ArrayDeque<>();
List<Integer> list=new ArrayList<>();
queue.offer(root);
TreeNode node=new TreeNode();
while(!queue.isEmpty()){
TreeNode poll = queue.poll();
list.add(poll.val);
if(poll.left!=null) queue.offer(poll.left);
if(poll.right!=null) queue.offer(poll.right);
}
//因为要返回到数组所以多加了一步,也可以自己定一个下标维护
int[] ans=new int[list.size()];
for (int i = 0; i < ans.length; i++) {
ans[i]=list.get(i);
}
return ans;
}
}