算法的思想:
如果是空树,递归结束,深度为零,否则
递归计算左子树的深度m
递归计算右子树的深度 n
返回左右子树深度最大值加一。
int depth(Bitree T)
{
if(T==NULL)
return 0;//如果为空树,递归结束,深度为0
else
{
m = depth(T->lchild); //若树不为空,则递归求左子树的深度
n = depth(T->rchild); //递归求右子树的深度
if(m>n) //然后将左右子树深度最大的加一,得到整个二叉树的深度
return m+1;
else
return n+1;
}
}