二叉树的高度
请考虑以下代码:
public int heightOfBinaryTree(Node node)
{
if (node == null)
{
return 0;
}
else
{
return 1 +
Math.max(heightOfBinaryTree(node.left),
heightOfBinaryTree(node.right));
}
}
我想知道这段代码背后的逻辑推理。人们是如何想到的?有些人有感应证明吗?
此外,我想到只是用二叉树的根做一个BFS作为获得二叉树高度的参数。以前的方法比我的好吗?为什么?