层序遍历需要借助队列的先进先出特性来实现
public List<Integer> levelOrder(TreeNode root){//层序遍历
List<Integer> list = new ArrayList<>();
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while (!queue.isEmpty()){
TreeNode node = queue.remove();
list.add(node.val);
if (node.left!=null) queue.add(node.left);//把左儿子入队
if (node.right!=null) queue.add(node.right);//把右儿子入队
}
return list;
}