如何灵活应用理解递归
int Height(BinTree T)
{
int hl,hr;
if(T)
{//非空树
if(t->lchild==NUll)&&(t->rchild==NULL)//只含一个根结点
return 1;
else
{
hl=height(t->lchild);//根的左子树高度
hr=height(t->rchild);//根的右子树高度
if (hl>=hr)
return hl+1;
else
return h2+1;
}
}
else return 0;
}
这是从网上抄的计算二叉树高度的代码,用的是递归方法,对于该类代码我能读懂,
可是如果让我去写,恐怕我写不了这么精妙,感觉就是转不过弯,因此请教大家:你
们是如何理解这种问题的??有什么好方法??
谢谢!!