题目描述:

public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> res = new ArrayList<>();
if (root == null) return res;
Queue<TreeNode> queue = new LinkedList<>();//队列计入当前层
queue.offer(root);
while (!queue.isEmpty()) {
List<Integer>list=new ArrayList<>();
int size = queue.size();//遍历队列使用,前size个位当前层
while(size-->0){
TreeNode poll = queue.poll();
list.add(poll.val);
//左右节点不为空计入队列为下一层
if (poll.left!=null)queue.offer(poll.left);
if (poll.right!=null)queue.offer(poll.right);
}
res.add(list);
}
return res;
}