力扣题543二叉树的直径
发布日期:2022-03-04 11:48:20
浏览次数:8
分类:技术文章
本文共 1090 字,大约阅读时间需要 3 分钟。
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
示例 :
给定二叉树1
/ \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。
1.把每个节点都作为一次根结点,计算该节点的左侧深度和右侧深度之和,这个深度和的最大值就是直径。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { int maxLength = 0;//记录最大路径长度,即直径 public int diameterOfBinaryTree(TreeNode root) { depth(root); return maxLength; } public int depth(TreeNode node) { if (node == null) { return 0; } int leftLength = depth(node.left);//当前节点的左侧最大深度 int rightLength = depth(node.right);//当前节点的右侧最大深度 //在以当前节点为根结点下更新最大长度 maxLength = Math.max(maxLength,leftLength + rightLength); return Math.max(leftLength,rightLength) + 1;//更新经过当前节点的最大深度 }}
题源:
转载地址:https://blog.csdn.net/xxyneymar/article/details/122285031 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年03月04日 17时53分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
mysql 更新数据 字符串_批量替换 MySQL 指定字段中的字符串
2019-04-21
mysql concat 整数型_MySQL 数字类型转换函数(concat/cast)
2019-04-21
mysql单元格函数是_MySQL常用内置函数
2019-04-21
mysql 怎么字段分裂_你可以分裂/爆炸MySQL查询中的字段吗?
2019-04-21
全国省市区 mysql_2017全国省市区数据库【含三款数据库】
2019-04-21
mysql 怎样链接jdbc_jdbc怎么链接mysql数据库
2019-04-21
java exec封装_Java 执行系统命令工具类(commons-exec)
2019-04-21
php将文件夹打包zip文件,PHP把文件夹打包成ZIP文件
2019-04-21
mysql in 逗号分隔,使用MySQL IN()从逗号分隔的值中获取记录?
2019-04-21
php静态页面示例,php生成静态页面的简单示例_php实例
2019-04-21
迭代函数系统matlab实现,线性随机IFS迭代Matlab示例程序.doc
2019-04-21
c语言程序设计教程谭浩强张基温,C语言程序设计教程(第2版)
2019-04-21