struct node{

Node Left;

Node Right;

int MaxLeft;//左子树到该节点的最长距离

int MaxRight;//右子树到该节点的最长距离

char chValue;

};

void FindMaxLen(Node T)

{

int tmpMax = 0;

if (NULL == T)

{

return;

}

if (NULL == T->Left)

{

T->MaxLeft = 0;

}

if (NULL == T->Right)

{

T->MaxLeft = 0;

}

if (NULL != T->Left)

{

FindMaxLen(T->Left);

}

if (NULL != T->Right)

{

FindMaxLen(T->Right);

}

if (NULL != T->Left)

{

if (T->Left->MaxRight < T->Left->MaxLeft)

{

tmpMax = T->Left->MaxLeft + 1;

}

else

{

tmpMax = T->Left->MaxRight + 1;

}

T->MaxLeft = tmpMax;

}

if (NULL != T->Right)

{

tmpMax = 0;

if (T->Right->MaxRight < T->Right->MaxLeft)

{

tmpMax = T->Right->MaxLeft + 1;

}

else

{

tmpMax = T->Right->MaxRight + 1;

}

T->MaxRight = tmpMax;

}

if (T->MaxLeft + T->MaxRight > MaxLen)

{

MaxLen = T->MaxLeft + T->MaxRight;

}

转载于:https://www.cnblogs.com/SLVR/p/3419117.html

求二叉树中节点的最大距离相关推荐

  1. 编程之美-求二叉树中节点的最大距离方法整理

    [试题描述] 方法:

  2. 【编程题目】求二叉树中节点的最大距离

    第 11 题(树) 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数. 写一个程序, 求一棵二 ...

  3. c++实现二叉树中节点的最大距离 - c++语言程序开发技术文章,c++实现二叉树中节点的最大距离...

    文章前半部分能懂,可是后面的Milo不是很理解,可能有待以后学习..... 微软面试题之一,难度系数中,题目描述如下: 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看 ...

  4. 编程之美 求数组中的最长递增子序列

    如题,例如:存在数组 1,-1,2,-3,4,-5,6,-7 ,则最长的递增子序列是:1,2,4,6. 法一: 蛮力法 int Lis(int* arr,int n) {int iCount=0;// ...

  5. 变形二叉树中节点的最大距离(树的最长路径)——非递归解法

    问题描写叙述: 假设我们把二叉树看成一个图,父子节点之间的连线看成是双向的.我们姑且定义"距离"为两节点之间边的个数. 写一个程序,求一棵二叉树中相距最远的两个节点之间的距离.測试 ...

  6. 【100题】第十一题(二叉树中节点的最大距离)

    一,题目:        如果把二叉树看成一个图,父子节点之间的连线看成是双向的(无向图),定义"距离"为两节点之间边的个数.写一个程序,求一棵二叉树中相距最远的两个节点之间的距离 ...

  7. 编程之美求二进制数中1的个数扩展题

    转自:http://s.sousb.com/?p=253 编程之美2.1节中的扩展题第1题:如果变量是32位的Dword,则如何统计该二进制数中1的个数. 对于该题,原本的想法还是想采用书中解法三,也 ...

  8. 编程之美-求数组中最长递增子序列(LIS)方法整理

    [试题描述] 方法一:时间复杂度O(n^2) 方法二:时间复杂度O(n^2) 方法三: 修改方法二中的穷举搜索部分为如下: 如果把上述查询部分利用二分搜索进行加速,可以得到时间复杂度为O(nlogn) ...

  9. 编程之美-求二进制数中1的个数方法整理

    [试题描述] 方法一:穷举法(暴力搜索) 方法二:使用位操作 方法三: 方法四:使用分支操作 方法五:查表法,时间复杂度O(1),以空间换时间

最新文章

  1. 全球AI人才数量“热图”分析:中国全球第7 欧洲是人才聚集地
  2. python核心编程学习(第四章)
  3. django mysql连接超时设置_坑(一)—— Django ORM 连接超时的坑
  4. day 0314函数的进阶
  5. 【新星计划】Matlab实现数据导出
  6. PowerDesigner连接SqlServer数据库
  7. LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)
  8. 支持向量机python代码实现
  9. Linux下安装rpm出现error: Failed dependencies
  10. 【转】Python-面向对象进阶
  11. 计算机原子指令,计算机体系结构——多线程(核)访存“上锁”——原子指令...
  12. Scala 与设计模式(六):Bridge 桥接模式
  13. 易车网靠谱吗,蛋蛋告诉你
  14. python零基础教学plc_编程零基础应当如何开始学习 Python?
  15. 前端开发工程师 - 02.JavaScript程序设计 - 第2章.进阶篇
  16. 可能改变世界的13个“终结”(上)
  17. Python -- 限流 throttle
  18. Python中办公软件(创建excel)
  19. 新一代光学工程仿真软件RED MPC支持的功能
  20. cityscapes数据集标签的处理

热门文章

  1. LQ训练营(C++)学习笔记_枚举算法
  2. Linux下载源码编译出错,linux下fortran中编译代码时“undefined reference to `_gfortran_st_”错误...
  3. 网络流--最大流--Dinic模板矩阵版(当前弧优化+非当前弧优化)
  4. 51NOD 1212 无向图最小生成树
  5. linux如何实现相关功能源代码
  6. SQL:find duplicate rows -- using group or having
  7. 本次奔驰漏油事件,要花多少钱打广告才能弥补损失?
  8. 腾讯信用向全国开放了,据说700分都算低的!
  9. 如何快速把借呗额度提高到10万?
  10. PIC32单片机harmony开发环境 - uart例程和代码分析