题目
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
解法
class Solution {
public int[] levelOrder(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>(); //暂存树中的节点
ArrayList<Integer> list = new ArrayList<>(); //报错输出的节点
if(root != null){
queue.add(root);
}
while(!queue.isEmpty()){
TreeNode tem = queue.poll();
list.add(tem.val);
if(tem.left != null){
queue.add(tem.left);
}
if(tem.right != null){
queue.add(tem.right);
}
}
int size = list.size();
int[] fina = new int[size];
for(int i=0; i<size; i++){
fina[i] = list.get(i);
}
return fina;
}
}