二叉树的直径

news2025/4/22 6:39:46

题目链接

二叉树的直径

题目描述


注意点

  • 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度

解答思路

  • 最长路径可能经过也可能不经过根节点 root ,在遍历至任意节点时,需要找到其左右子树对应的路径,两棵子树的路径之和就是经过该节点时的最长路径,所以需要用到后序遍历,可能在中途就已经找到了最长路径,需要使用全局变量保存最长路径

代码

class Solution {
    int res = 0;
    public int diameterOfBinaryTree(TreeNode root) {
        postOrder(root);
        return res;
    }

    public int postOrder(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int leftLen = postOrder(root.left);
        int rightLen = postOrder(root.right);
        res = Math.max(res, leftLen + rightLen);
        return Math.max(leftLen, rightLen) + 1;
    }
}

关键点

  • 后序遍历的思想

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1087774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

严格按照1.5到3倍来设置虚拟内存大小是不科学的,最好通过性能监视器

虚拟内存是一种通过使用硬件和软件来实现的存储器管理技术。它使应用程序认为它有一个连续的可用存储空间或地址空间。然而,事实上,虚拟内存通常被划分为几个物理内存片段,其中一些存储在外部磁盘存储器上,可以在需要时用于交换数…

初学者必看,前端 Debugger 调试学习

1.文章简介: 报错和Bug,是贯穿程序员整个编程生涯中,无法回避的问题。而调试,就是帮助程序员定位问题、解决问题的重要手段,因此调试是每个程序员必备技能。 调试本身可分为两个过程: 定位问题 和 解决问题&#xff0…

[开源]多功能、高效率、低代码的前后端一体化、智能化的开发工具

一、开源项目简介 多功能、高效率、低代码的前后端一体化、智能化的开发工具 mdp-sys-ui-web旨在为企业开发管理类的业务系统提供一个模板工程,该模板工程具有高效率、低代码、功能丰富等特点。企业可以在该工程之上,加入更多其它业务功能;也…

VScode Invoke-Expression: 无法将参数绑定到参数“Command”,因为该参数为空字符串

打开vscode时发生错误:Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。 解决办法:在anaconda prompt base中输入: conda upgrade -n base -c defaults --override-channels conda

【MultiOTP】Docker安裝MultiOTP, 让Windows登入更安全(MFA)

序 在当前数字时代,网络安全成为了一个非常重要的话题。随着越来越多的人和组织依赖于计算机系统来进行工作和存储敏感信息,确保身份验证安全变得至关重要。双因素身份验证(2FA)是一种强大的安全措施,可在传统的用户名…

UDP通信:快速入门

UDP协议通信模型演示 UDP API DatagramPacket:数据包对象(韭菜盘子) public DatagramPacket(byte[] buf, int length, InetAddress address, int port)创建发送端数据包对象 buf:要发送的内容,字节数组 length&…

相似与不同:数字孪生和元宇宙的对比

数字孪生和元宇宙是两个备受瞩目的概念,都在数字领域产生了巨大的影响。它们有一些相似之处,但也存在显著的不同。本文将介绍它们的相同点和不同点,以及它们在不同应用领域的前景。 1. 相同点 虚拟性质: 数字孪生和元宇宙都是虚…

非肿瘤纯生信拿下7+,多种机器学习算法,搭配WGCNA。

今天给同学们分享一篇非肿瘤WGCNA机器学习的生信文章“Screening of immune-related secretory proteins linking chronic kidney disease with calcific aortic valve disease based on comprehensive bioinformatics analysis and machine learning”,这篇文章于2…

Linux:【Kafka四】集群介绍与单机搭建

目录 环境简介 一、搭建kafka集群 1.1、复制出两个kafka的配置文件 1.2、修改配置文件中的如下属性 二、启动kafka集群 三、可校验kafka三个节点是否均启动成功 四、查看集群中主题的分区和副本 4.1、新建一个包含了分区和副本的主题 4.2、查看该主题的详细信息 五、…

有了PMP证书,还用考CSPM吗?

首先结论放前面(看个人发展要求,如果想有双证加持的话,建议可以把握这个机会去申请,因为现在处于政策前期,可以免试申请,未来的政策未知。如果目前已经从事项目管理且拥有pmp证书的话,为了以后的…

Android渲染系列之原理概述篇

屏幕硬件 渲染离不开屏幕,Android中的屏幕碎片化比较严重,尺寸大小不一,材质也是屏幕重要的因素。 目前智能手机主流的屏幕可分为两大类即液晶显示器; LCD (Liquid Crystal Display) 液晶显示器OLED (Organic Light Emitting Diode&#xf…

解决下拉菜单的过渡问题

解决下拉菜单的过渡问题 使用 js 实现 基本布局如下 .text-select {width: 500px;box-sizing: border-box; }.text {padding: 0 8px;margin: 0;width: 500px;height: 35px;border-radius: 5px;border: 1px solid #23aaf2;box-sizing: border-box;outline: #0075b7; }.select…

GlobalMapper渲染DEM导出背景透明

左图原始数据带黑边,右图为GM导出的效果图,具体步骤如下: 1、dem的黑边无需预处理,直接拖入到GM中,选择yes 2、自动去黑边,默认从高程0开始渲染,颜色不太好看 3、双击图层,修改最小高…

本土元素的魔力:品牌的全球化之路

随着全球化的不断推进,越来越多的企业正积极寻求国际市场上的机会。然而,进军国际市场并不是一项容易的任务,需要深思熟虑的战略和坚定的决心。在这个竞争激烈的环境中,一种被称为“本土化”的战略变得越来越重要。这种策略强调的…

基于YOLOv5的车牌识别系统(YOLOv5+LPRNet)

YOLOv5网络结构图 YOLOv5s的网络结构如图1所示,该结构分为四个部分输入端、Backbone(主干网络)、Neck网络和Prediction(输出端)。 各部分具有的主要功能结构如下: 输入端:Mosaic数据增强、自适…

嵌入式设备时间同步(校时)

文章目录 二、校时方案三、chrony 介绍和使用3.1 chrony 介绍3.2 chrony 使用示例3.3 chrony.conf3.4 chronyd3.5 chronyc 四、gpsd chrony pps 介绍和使用4.1 gpsd 介绍4.1.3 gpsd 交叉编译 4.2 pps 和 pps-tools 介绍和使用 x.参考资料五、比较两个设备时间差5.1 date 命令…

python+opencv+深度学习实现二维码识别 计算机竞赛

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 pythonopencv深度学习实现二维码识别 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:3分 该项目较为新颖&…

Vue—大文件分片上传

背景 如题,最近遇到大文件上传慢的问题,用户需要经常上传一些超过一百多M的文件,系统由于历史原因上传功能并没有做分片上传的功能,是整个文件上传,并且服务器带宽限制和NGINX对文件大小的限制等问题,所以…

亳州市的自然风光与旅游资源:欣赏安徽省中部的壮丽景色

亳州市是中国安徽省的一个地级市,位于该省的中部。 亳州市辖区包括谯城区、涡阳县、蒙城县和利辛县等地。亳州市拥有悠久的历史和丰富的文化遗产,同时也以其独特的自然风光而闻名。 首先,让我们来了解一下亳州的历史和景点。亳州的历史可以…

机器人硬件在环仿真:解决实体开发与测试挑战,提升效率与安全性

工业机器人具备出色的灵活性和运动能力,广泛应用于工业制造领域。它们可以完成装配、焊接、喷涂、搬运、加工、品质检测等任务,提高了生产效率,保证了产品质量。此外,在医疗领域也有辅助手术等特殊应用,展现了其在多个…