这是我在互联网上找到的二叉树高度最常见的实现
public int height(BinaryNode t) {
if (t == null) {
return 0;
} else {
return 1 + Math.max(height(t.left), height(t.right));
}
}
但不应该像这样修改,因为它在叶子节点添加了不必要的1
public int height(BinaryNode t) {
if (t == null) {
return 0;
} else if (t.left == null && t.right == null) {
return 0;
} else {
return 1 + Math.max(height(t.left), height(t.right));
}
}