找到树的高度

时间:2015-06-12 13:22:38

标签: c data-structures

你能让我理解这段代码来找到二叉树的高度:

   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.(代码不完整)。

1 个答案:

答案 0 :(得分:1)

  

我无法理解" int lDepth = maxDepth(node-> left);"   将返回左子树的高度,当它到达基数时   case ...它将返回0.(代码不完整)。

确实它将返回0,但不要忘记+1,想象它到达树有左右节点(没有孙子)的情况,左边的高度是0,右边的高度是为0,因此父亲的深度是最大+1的深度,即1