领扣LintCode算法问题答案-1181. 二叉树的直径
发布日期:2021-06-30 17:10:14
浏览次数:2
分类:技术文章
本文共 1698 字,大约阅读时间需要 5 分钟。
领扣LintCode算法问题答案-1181. 二叉树的直径
目录
1181. 二叉树的直径
描述
给定一颗二叉树,您需要计算树的直径长度。 二叉树的直径是树中任意两个节点之间最长路径的长度。 此路径不一定会通过树根。
- 两个节点之间的路径长度由它们之间的边数表示。
样例 1:
给定一棵二叉树 1 / \ 2 3 / \ 4 5 返回3, 这是路径[4,2,1,3] 或者 [5,2,1,3]的长度.
样例 2:
输入:[2,3,#,1]输出:2解释: 2 / 3 /1
题解
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: a root of binary tree * @return: return a integer */ public int diameterOfBinaryTree(TreeNode root) { // write your code here Pointerret = new Pointer<>(0); diameterOfBinaryTree(root, ret); return ret.getV(); } private int diameterOfBinaryTree(TreeNode root, Pointer ret) { // write your code here if (root == null) { return 0; } int left = 0; if (root.left != null) { left = diameterOfBinaryTree(root.left, ret) + 1; } int right = 0; if (root.right != null) { right = diameterOfBinaryTree(root.right, ret) + 1; } if (left + right > ret.getV()) { ret.setV(left + right); } return Math.max(left, right); } class Pointer { private T v; public Pointer(T v) { this.v = v; } public T getV() { return v; } public void setV(T v) { this.v = v; }}}
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。
欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。
转载地址:https://le-yi.blog.csdn.net/article/details/108892919 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月14日 22时22分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JAVA学习笔记6 - 数组
2019-04-30
JAVA学习笔记8 - Stream 和 File I/O
2019-04-30
JAVA学习笔记9 - 异常
2019-04-30
JAVA学习笔记10 - 继承
2019-04-30
JAVA学习笔记11 - 接口interface
2019-04-30
JAVA学习笔记12 - 包package
2019-04-30
Android 开发学习笔记 00 - Getting Started
2019-04-30
【学习笔记】Android Activity
2019-04-30
【学习笔记】Android Fragments
2019-04-30
Android使用Retrofit_00_Getting Started
2019-04-30
Android使用Retrofit_01_OAuth2 + GitHub
2019-04-30
Django + REST学习笔记
2019-04-30
【转载】将Ubuntu16.04 中gedit在仅显示一个文件时显示文件名tab
2019-04-30
fstream 对象多次使用时注意clear
2019-04-30
调试 LenaCV 3D Camera (Linux)
2019-04-30
OpenCV杂记 - Mat in C++
2019-04-30