查看单个帖子
  #8 (permalink)  
旧 2007-12-24
Juvexp Juvexp 当前离线
普通会员
 
注册日期: 2006-03-08
帖子: 31
Juvexp 正向着好的方向发展
默认 回复: 求一棵树的半径 - 这个问题的二叉树的实现版本

引用:
作者: imgen 查看帖子
int BinaryTreeHeight(node *p, int&maxHeightSum)
{
if (!p)
{
return 0;
}

int leftHeight = BinaryTreeHeight(p->left, maxHeightSum);
int rightHeight = BinaryTreeHeight(p->right, maxHeightSum);

maxHeightSum = max(leftHeight+leftHeight, maxHeightSum);
return max(leftHeight, rightHeight) + 1;
}

int findRadOfTree(node* head)
{
int maxHeightSum = 0;
BinaryTreeHeight(head, maxHeightSum);
return maxHeightSum;
}

这个实现有问题吧,这句是什么意思:
maxHeightSum = max(leftHeight+leftHeight, maxHeightSum);

左子树为空就返回零了

改成
maxHeightSum = max(leftHeight+rightHeight, maxHeightSum);
也不对
回复时引用此帖