Java中二叉树的层序遍历

自古美人都是妖i 提交于 2020-03-17 11:08:49

二叉树除了前序遍历、中序遍历、后序遍历之外,还有一种遍历方式,那就是层序遍历,它是将二叉树按照层次进行遍历的一种方法。

首先,需要定义节点类,代码如下:

public class TreeNode {
    int value;
    TreeNode left;
    TreeNode right;

    public TreeNode() {
        value = 0;
        left = right = null;
    }

    public TreeNode(int value) {
        this.value = value;
        left = right = null;
    }
}

层序遍历

对于代码的实现,我们可以利用队列来实现。

public void leverOrder(TreeNode root){
    Queue<TreeNode> queue = new LinkedList<>();
    if(root != null) {
        queue.offer(root);
    }
    while(!queue.isEmpty()) {
        //获取队头元素
        TreeNode topNode = queue.poll();
        System.out.print(topNode.value+" ");
        //入队孩子节点
        if(topNode.left != null) {
            queue.offer(topNode.left);
        }
        if(topNode.right != null) {
            queue.offer(topNode.right);
        }
    }
}

以上就是介绍的二叉树的层序遍历的代码实现。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!