news 2026/8/7 10:03:33

二叉树的直径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
二叉树的直径

算法练习day2

二叉树的直径定义为树中任意两个节点之间最长路径的长度。这个路径不一定经过根节点,但路径的长度由它们之间的边数表示。

例如,对于以下二叉树:

1 / \ 2 3 / \ 4 5

最长路径是节点 4 → 2 → 5(或者 5 → 2 → 4),长度为 3 条边。

在算法实现中,通常使用深度优先搜索(DFS)来计算每个节点的左右子树高度,然后更新直径值:

  • 对于每个节点,计算左子树高度和右子树高度
  • 当前节点可能形成的直径 = 左子树高度 + 右子树高度
  • 全局维护最大直径值

上面代码中的diameterOfBinaryTree函数就是基于这个思路实现的。

function diameterOfBinaryTree(root) { let ans = 0 // 返回当前节点子树高度 function getHeight(node) { if (!node) return -1 const leftH = getHeight(node.left) const rightH = getHeight(node.right) ans = Math.max(ans, leftH + rightH) return Math.max(leftH + rightH) + 1 } getHeight(root) return ans }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 9:59:47

抖音内容批量下载技术实现:模块化架构与智能管理方案

抖音内容批量下载技术实现:模块化架构与智能管理方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…

作者头像 李华
网站建设 2026/8/7 9:59:41

德州市建设街小学网站:家校共育的数字化桥梁与成长记录册

在这个移动互联网触手可及的时代,我们似乎已经习惯了“指尖上的生活”。从清晨的第一杯咖啡到深夜的最后一次打卡,手机屏幕成了我们感知世界的主要窗口。对于家长来说,这种便捷同样意味着焦虑与期待并存的复杂情绪:孩子在学校吃得好吗?作业布置了什么?老师最近有没有表扬…

作者头像 李华
网站建设 2026/8/7 9:52:49

Linux基础学习记录

Linux在服务器领域是最强的 Linux与Unix历史来源 Linux与VM关系 软件安装没好,等好了之后继续更新 (引用) VMware Workstation 17.5.2 Pro__虚拟机 官网下载, 安装及网站账号注册系列问题( 保姆级教程, 官网下载和注册链接跳转异常问题, …

作者头像 李华
网站建设 2026/8/7 9:51:43

理正计算水利工程边坡抗滑稳定-参数选取-笔记

一、引子 前阵子教同事算河道边坡的抗滑稳定,结果越教问题越多,遂滚去查规范,于是发现之前简直就是在瞎干。本文着重介绍一下使用理正计算河道边坡抗滑稳定过程中,相关抗剪强度参数的选取。 二、不同试验方法得出的抗剪强度 想…

作者头像 李华
网站建设 2026/8/7 9:51:15

建设永久网站如何避免被下架?老鸟揭秘企业生存指南

咱们今天不聊虚的,直接上来就掏心窝子说说“建设永久网站”这档子事儿。你是不是也有过这样的经历:辛辛苦苦折腾了几个月,甚至找外包团队砸了十几万银子,好不容易把网站弄出来,页面漂漂亮亮,功能挺全活挺好用。结果没过多久,要么空间到期续费贵得离谱,要么服务商突然跑…

作者头像 李华
网站建设 2026/8/7 9:46:58

从Skill使用者到创造者:手把手教你编写规范的AI Agent技能

1. 项目概述:从“用”到“造”的认知跃迁 最近和不少做AI Agent的朋友聊天,发现一个挺普遍的现象:大家谈起LangChain、AutoGen这些框架,或者某某大模型的最新API,都头头是道,各种现成的Skill(技…

作者头像 李华