求解一颗二叉树中两个叶子节点最长的路径
来源:互联网 发布:爱造船的诺米叔 淘宝 编辑:程序博客网 时间:2024/03/28 21:34
package tree;class Res{int max;}public class DiameterofaBinary {/** * 求解一颗二叉树中两个叶子节点最长的路径 * @param args */public static int getDiameter(TreeNode root,Res rs){if(root==null) return 0;int left = getDiameter(root.left, rs);int right = getDiameter(root.right, rs);int sum = left+right+1;if(sum>rs.max){rs.max = sum;}return (right>left?right:left)+1;//返回高度}public static void main(String[] args) {TreeNode root = new TreeNode(1);root.left = new TreeNode(2);root.right = new TreeNode(3);root.right.right = new TreeNode(3);root.left.left = new TreeNode(4);root.left.left.left = new TreeNode(4);root.left.left.right = new TreeNode(4);root.left.left.right.left = new TreeNode(4);root.left.left.right.left.left = new TreeNode(4);root.left.left.right.left.right = new TreeNode(4);root.left.right = new TreeNode(4);root.left.right.right = new TreeNode(4);root.left.right.right.left = new TreeNode(4);root.left.right.right.right = new TreeNode(4);root.left.right.right.right.right = new TreeNode(4);Res rs = new Res();rs.max = Integer.MIN_VALUE;getDiameter(root, rs);System.out.println(rs.max);}}
0 0
- 求解一颗二叉树中两个叶子节点最长的路径
- 打印二叉树两个叶子节点间的路径
- 打印二叉树两个叶子节点间的路径
- 打印二叉树两个叶子节点间的路径
- 寻找二叉树中长度为k的路径(根节点到叶子节点)
- 查看一颗二叉树从根到叶子路径的节点和是否等于某个给定的数
- 找出二叉树所有到叶子节点的路径
- 二叉树-输出树中从根到每个叶子节点的路径
- [二叉树专题]:递归求解二叉树的叶子节点数目
- 二叉树中根到叶子路径中节点和等于给定值的路径
- 二叉树中根到叶子路径中节点和等于给定值的路径
- 二叉树中根到叶子路径中节点和等于给定值的路径
- 数据结构--二叉树--输出树中从根到每个叶子节点的路径(树遍历算法的应用) .
- 打印二叉树从根节点到叶子节点的所有路径
- 二叉树基本操作(输出所有叶子节点到根节点的路径)
- Binary Tree Paths 二叉树所有从跟节点到叶子节点的路径
- 二叉搜索树的最短路径,从根节点到叶子节点
- 二叉树专题--输出根节点到所有叶子节点的路径
- 且看且学Gradle--(2)gradle.bat解析
- 把字符串按照分割符分解成不同的部分
- NanShan 即时通讯软件 开发者们先推的是mantis,用的很好
- 北漂小记—黑客马拉松.北京站
- 1
- 求解一颗二叉树中两个叶子节点最长的路径
- boost::function用法详解
- APP饱和 浏览器的融冰时代
- 2014年6月30日 16:47:54
- nginx rewrite 配置说明与参数详解
- ubuntu命令缩写
- WinCE下VB.NET读写注册表的参考代码
- DecimalFormat 格式化数据
- 分析函数调用关系图(call graph)的几种方法