求二叉树中节点的最大距离
来源:互联网 发布:宝马400m轮毂数据 编辑:程序博客网 时间:2024/05/14 03:58
如果我们把二叉树看成一个图,父子之间的连线看成,姑且定义"距离"为两个之间边的个数。
求一颗二叉树中相距最远两个点之间的距离。
struct NODE
{
NODE *pLeft; //左子树
NODE *pRight;//右子树
int nMaxLeft;
int nMaxRight;
int chValue;
}BitTree;
int nMaxLen = 0;
void FindMaxLen(NODE * pRoot)
{
if(pRoot==NULL)
{
return;
}
if(pRoot->pLeft==NULL){
pRoot->nMaxLeft = 0;
}
if(pRoot->pRight==NULL){
pRoot->nMaxRight = 0;
}
if(pRoot->pLeft!=NULL){
FindMaxLen(pRoot->pLeft);
}
if(pRoot->pRight!=NULL){
FindMaxLen(pRoot->pRight);
}
if(pRoot->pLeft!=NULL){
int temp =0;
if(pRoot->pLeft->nMaxLeft>pRoot->pLeft->nMaxRight){
temp = pRoot->pLeft->nMaxLeft;
}
else{
temp = pRoot->pLeft->nMaxRight;
}
pRoot->nMaxLeft = temp+1;
}
if(pRoot->pRight!=NULL){
int temp =0;
if(pRoot->pRight->nMaxLeft>pRoot->pRight->nMaxRight){
temp = pRoot->pRight->nMaxLeft;
}
else{
temp = pRoot->pRight->nMaxRight;
}
pRoot->nMaxRight = temp+1;
}
if(pRoot->nMaxLeft+pRoot->nMaxRight>nMaxLen){
nMaxLen=pRoot->nMaxLeft+pRoot->nMaxLeft;
}
}
- 【二叉树】求二叉树中节点的最大距离
- 求二叉树中节点最大距离
- 3.8求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 11、求二叉树中节点的最大距离...
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中两个节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离
- whereis命令
- JSP页面中获取当前日期时间
- [ACM] POJ 3061 Subsequence (尺取法)
- 示波器使用技巧
- hdu 4670 Rating(概率论)
- 求二叉树中节点的最大距离
- chrome本地打开html页面cookie无效
- 【源码】 控制物体↑↓←→移动
- 与C#初恋的告白
- sqlserver触发器
- 我要快乐,我想你很快乐。你到底快不快乐
- 易迅,生的霸气,死的窝囊
- iOS平台判断2G,3G,wifi网络类型
- Ubuntu+apache 单IP多站点设置