如何打印树的高度?

我有以下填充二叉树(不是 BST)的代码


如何获取树的高度并将其连同其高度一起打印?


int[] values = new int[] {1, 2, 3, 4, 5};

BinaryTree tree = new BinaryTree(values);


class BinaryTree

{

    int value;

    BinaryTree left;

    BinaryTree right;


    public BinaryTree(int[] values) : this(values, 0) {}


    BinaryTree(int[] values, int index)

    {

        Load(this, values, index);

    }


    void Load(BinaryTree tree, int[] values, int index)

    {

        this.value = values[index];

        if (index * 2 + 1 < values.Length)

        {

            this.left = new BinaryTree(values, index * 2 + 1);

        }

        if (index * 2 + 2 < values.Length)

        {

            this.right = new BinaryTree(values, index * 2 + 2);

        }

    }

    int getDepth()

    {

      //code to get height here

    }

}


ITMISS
浏览 106回答 1
1回答

吃鸡游戏

您需要遍历所有节点并检查高度;&nbsp;&nbsp;&nbsp;depth&nbsp;=&nbsp;1&nbsp;+&nbsp;max(left.depth,&nbsp;right.depth)无论如何,您需要检查是否为空。C#代码:&nbsp;&nbsp;&nbsp;return&nbsp;1&nbsp;+&nbsp;Math.Max(left?.getDepth()&nbsp;??&nbsp;0,&nbsp;right?.getDepth()&nbsp;??&nbsp;0)
打开App,查看更多内容
随时随地看视频慕课网APP