二叉树深度算法中,递归算法为什么我调试求不出算法啊???n-n 大神们还有其他方法吗,求教哇

2025-05-09 03:31:28
推荐回答(1个)
回答1:

你算法是错误的,正确的求二叉树深度的算法如下:

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; // 如果左子树结点多个右子树结点,则以左子树的深度为准,反之亦然。
}