Java教程

二叉树-层序遍历

本文主要是介绍二叉树-层序遍历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

层序遍历:从根结点(第一层)开始,一次向下,从左往右 获取每一层所有结点的值。

代码示例

代码中用到的二叉树BinaryTree类是 树结构-二叉查找树_lujiangui的专栏-CSDN博客 这里自定义的二叉树类

用的Queue类是 线性表-队列_lujiangui的专栏-CSDN博客 里的自定义队列类

    public Queue<K> levelTraversal(){
        Queue<K> keys = new Queue<>();
        Queue<Node> nodes = new Queue<>();
        nodes.add(root);

        while (!nodes.isEmpty()){
            Node<K,V> n = nodes.get();
            keys.add(n.key);
            //判断n有没有左子树
            if (n.left!=null){
                nodes.add(n.left);
            }
            if (n.right!=null){
                nodes.add(n.right);
            }
        }
        return keys;
    }

这篇关于二叉树-层序遍历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!