二叉树的最大高度
Maximum Height of a Binary Tree
您好,我遇到了一个代码来查找二叉树的最大高度。
在这段代码中,为什么 return 语句中有一个 +1
?
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
}
如果没有,结果将始终为 0。
二叉树的最大高度是 child 最大高度(即 Math.max(maxDepth(root.left), maxDepth(root.right))
部分)的最大高度 + 1 作为树的根。
考虑一棵由单个根节点组成的树。然后下面的 return 语句将 return 1,这是我们期望的:
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
return Math.max(0, 0) + 1;
return 1;
如您的基本案例所示,一棵空树的高度为零,您可以使用归纳法构建更高的树的高度。
您好,我遇到了一个代码来查找二叉树的最大高度。
在这段代码中,为什么 return 语句中有一个 +1
?
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
}
如果没有,结果将始终为 0。
二叉树的最大高度是 child 最大高度(即 Math.max(maxDepth(root.left), maxDepth(root.right))
部分)的最大高度 + 1 作为树的根。
考虑一棵由单个根节点组成的树。然后下面的 return 语句将 return 1,这是我们期望的:
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
return Math.max(0, 0) + 1;
return 1;
如您的基本案例所示,一棵空树的高度为零,您可以使用归纳法构建更高的树的高度。