我对以下查找树的高度的代码和递归查找的代码有点困惑sum of n nos
,这在下面。lheight
和存储什么rheight
,取决于它进行的递归次数?
int height(struct node* node)
{
if (node==NULL)
return 0;
else
{
lheight = height(node->left);
rheight = height(node->right);
if (lheight > rheight)
return(lheight+1);
else return(rheight+1);
}
}
这是一个更澄清,它打印的总和n nos
:
int findSum(int n){
int sum;
if(n <= 0) return 0;
else sum = n + findSum(n-1);
return sum;
}
如果我将其更改为:
int findSum(int n){
int sum;
if(n <= 0) return 0;
else sum = findSum(n-1); // here
return sum;
}
它将输出打印为 0。如果上面的树代码返回,为什么不返回递归数?