請考慮以下代碼:
public int heightOfBinaryTree(Node node)
{
if (node == null)
{
return 0;
}
else
{
return 1 +
Math.max(heightOfBinaryTree(node.left),
heightOfBinaryTree(node.right));
}
}
我想知道這段代碼背後的邏輯推理。人們是怎麽想出來的?有些人有歸納證明嗎?
此外,我想到只用二叉樹的根作為參數獲取二叉樹的高度。以前的方法比我的好嗎?為什麽?