我正在嘗試編寫一個函數來獲取二叉樹的高度。當我打印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--;
}
}
如果你沒有禁用警告,編譯器會告訴你你忘了什麼。 –