二叉树的高度

12 浏览
0 Comments

二叉树的高度

考虑以下代码:

public int heightOfBinaryTree(Node node)
{
    if (node == null)
    {
        return 0;
    }
    else
    {
        return 1 +
        Math.max(heightOfBinaryTree(node.left),
            heightOfBinaryTree(node.right));
    }
}

我想了解这段代码背后的逻辑推理。人们是如何得出这个解决方案的?是否有归纳证明?

此外,我考虑了使用二叉树的根节点作为参数进行广度优先搜索(BFS)来获取二叉树的高度。与我的方法相比,前面的方法更好吗?为什么?

0