查找二叉树最远两个节点的距离

来源:互联网 发布:网络交换机怎么安装 编辑:程序博客网 时间:2024/05/21 07:21
struct Node{Node * left;Node * right;int lmaxlen;int rmaxlen;char val;};int maxlen = 0;//查找二叉树中最远的两个节点void search(Node * root){if(root == NULL){return ;}if(root->left != NULL){search(root->left);}else{root->lmaxlen = 0;}if(root->right != NULL){search(root->right);}else{root->rmaxnlen = 0;}if(root->left != NULL){int tpmaxlen = 0;if(root->left->lmaxlen > root->left->rmaxlen){tpmaxlen = root->left->lmaxlen;}else{tpmaxlen = root->left->raxlen;}root->lmaxlen = tpmaxlen + 1;}if(root->right != NULL{int tpmaxlen = 0;if(root->right->rmaxlen > root->right->lmaxlen){tpmaxlen = root->right->rmaxlen;}else{tpmaxlen = root->right->lmaxlen;}root->lmaxlen = tpmaxlen + 1;}if(root->lmaxlen + root->rmaxlen > maxlen){maxlen = root->lmaxlen + root->rmaxlen;}}

0 0
原创粉丝点击