查找二叉树最远两个节点的距离
2015-06-27 22:47
363 查看
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; } }
相关文章推荐
- 滑动到点击位置的ListView
- [USACO Jan07]考试Schul解题报告
- Qsort
- 2015第26周六《谁动了我的奶酪》书摘
- 关于scrollTop值一直为0的问题
- 【Unity】Mesh网格编程(四)麦比乌斯环
- MySql之ALTER命令用法详细解读
- NSTimer产生的问题及解决方案
- EL表达式处理字符串
- 笔记
- 线程Thread的生命周期以及状态
- 原创实用代码(一)
- 手把手教你如何去除土豆,优酷..等等播放前的广告!
- Maven 编译项目流程
- STL 笔记(五) 算法 algorithm
- 第一次接触终极事务处理——Hekaton
- 折半查找(二分的两种写法)
- java学习之旅32--面向对象_05_程序执行过程的内存分析_02
- hadoop2.0 做spider下载集群的设置
- JAVA基础之多态