力扣题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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:力扣题560和为k的子数组
下一篇:力扣题581最短无序连续子数组

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月04日 17时53分39秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

mysql查看线程完整执行命令_MySQL-查看运行的线程-SHOW PROCESSLIST 2019-04-21
mysql 更新数据 字符串_批量替换 MySQL 指定字段中的字符串 2019-04-21
web开发 mysql安装_mysqlinstallerwebcommunity5.7.21.0.msi安装图文教程 2019-04-21
mysql concat 整数型_MySQL 数字类型转换函数(concat/cast) 2019-04-21
mysql单元格函数是_MySQL常用内置函数 2019-04-21
mysql 怎么字段分裂_你可以分裂/爆炸MySQL查询中的字段吗? 2019-04-21
mysql server卸载出错_Mysql卸载问题Start Server卡住报错解决方法 2019-04-21
全国省市区 mysql_2017全国省市区数据库【含三款数据库】 2019-04-21
druid加载MySQL驱动原理_你好,想知道mybatis+druid+jdbc 原理介绍? 2019-04-21
mysql 怎样链接jdbc_jdbc怎么链接mysql数据库 2019-04-21
mysql学生课程表试题_Mysql练习之 学生表、课程表 、教师表、成绩表 50道练习题... 2019-04-21
java exec封装_Java 执行系统命令工具类(commons-exec) 2019-04-21
php sha512解密,PHP加密函数 sha256 sha512 sha256_file() sha512_file() 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
w3wp ash oracle,[20200409]使用ash_wait_chains注意的一个细节.txt 2019-04-21
c语言程序设计教程谭浩强张基温,C语言程序设计教程(第2版) 2019-04-21
idea xml文件引入类提示_IDEA中导入多module的Maven项目后子项目不正常的情况 2019-04-21