【发布时间】:2013-04-14 00:47:51
【问题描述】:
我正在尝试编写一个函数来获取二叉树的高度。当我打印 maxi 的值时,该值是我所期望的,但是当函数返回该值时,该值始终为 0。有人可以告诉我在这里做错了什么吗?
int treeHeight(tree *p)
{
static int maxi=0;
static int i=0;
if(p==NULL)
{
return maxi;
}
else
{
if(p->left!=NULL||p->right!=NULL)
{
i++;
}
else
{
i++;
if(maxi<i)
{
maxi=i;
}
}
treeHeight(p->left);
treeHeight(p->right);
i--;
}
}
【问题讨论】:
-
如果您没有禁用警告,编译器会告诉您您忘记了什么。
标签: c++ tree binary-tree