二叉树的层序遍历

层序遍历:

按照从上到下从左到右的顺序将结点全部写出来

1.把根放到队列中(创始人)

2.循环直到 队首结点为空

       1.把队首结点取出

       2.打印队首结点,并把队首结点的左右孩子放入队列

 

import java.util.*;

public class Trees{
    public static void levelOrderTraversal(TreeNode root){ //层序遍历  队列中不放空结点,先放左再放右
        if(root == null){
            return ;
        }
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
    
        while(!queue.isEmpty()){   //队列中不放空结点
            TreeNode front = queue.poll();//1.把队首结点取出
            System.out.println(front.val);//2.打印队首结点, 并把队首结点的左右孩子放入队列 先放左再放右
            if(front.left != null){ //先放左
                queue.add(front.left);
            }
            if(front.right != null){ //再放右
                queue.add(front.right);
            }
        }
    }
}    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值