你算法是错误的,正确的求二叉树深度的算法如下:
int BiTreeDepth(BiTree T)
{
int i,j;
if(!T) return 0; // 空树,返回0
if(T->lchild) i=BiTreeDepth(T->lchild); // 递归遍历左子树深度
else i=0; // 不存在左子树,是右斜树
if(T->rchild) j=BiTreeDepth(T->rchild); // 递归遍历右子树深度
else j=0; // 不存在右子树,是左斜树
return i>j?i+1:j+1; // 如果左子树结点多个右子树结点,则以左子树的深度为准,反之亦然。
}