求二叉树中节点的最大距离

来源:互联网 发布:淘宝店铺开店日期 编辑:程序博客网 时间:2024/06/09 18:43

《编程之美》3.8题,没必要记录每个节点的左右子树中的最长距离,只要将其返回给父节点即可。同时记录出现左右子树距离和的最大值。

int findMaxDistance(NODE *pRoot){static int maxDistance=-1;int leftDistance;int rightDistance;if(pRoot==NULL){return -1;}leftDistance=findMaxDistance(pRoot->left)+1;rightDistance=findMaxDistance(pRoot->right)+1;if(maxDistance<leftDistance+rightDistance){maxDistance=leftDistance+rightDistance}return leftDistance>rightDistance?leftDistance:rightDistance;}


0 0
原创粉丝点击