你能让我理解这段代码来找到二叉树的高度:
int lDepth = maxDepth(node->left);
int rDepth = maxDepth(node->right);
/* use the larger one */
if (lDepth > rDepth)
return(lDepth+1);
else return(rDepth+1);
我无法理解" int lDepth = maxDepth(node-> left); "将返回左子树的高度,当它到达基本情况时......它将返回0.(代码不完整)。
答案 0 :(得分:1)
我无法理解" int lDepth = maxDepth(node-> left);" 将返回左子树的高度,当它到达基数时 case ...它将返回0.(代码不完整)。
确实它将返回0,但不要忘记+1,想象它到达树有左右节点(没有孙子)的情况,左边的高度是0,右边的高度是为0,因此父亲的深度是最大+1的深度,即1