思路
借助队列实现
代码
public static void LevelorderTraversal(TreeNode root){
if (root==null ){
return ;
}
//创建一个队列,用于入队列
Queue<TreeNode> queue= new LinkedList<>();
//然后把根节点入队列
queue.offer(root);
while (true){
//取出队首元素
TreeNode cur=queue.poll();
//如果节点为空,则遍历结束
if(cur ==null){break;}
//访问当前结点,用打印表示访问
System.out.println(cur.val);
//把该节点左子树入队列,右子树入队列
if (cur.left !=null){
queue.offer(cur.left);
}
if(cur.right !=null ){
queue.offer(cur.right);
}
}
}