当前位置: 首页 > news >正文

二叉树的直径

算法练习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 }
http://www.cnnetsun.cn/news/3886315.html

相关文章:

  • 抖音内容批量下载技术实现:模块化架构与智能管理方案
  • 德州市建设街小学网站:家校共育的数字化桥梁与成长记录册
  • Linux基础学习记录
  • 理正计算水利工程边坡抗滑稳定-参数选取-笔记
  • 建设永久网站如何避免被下架?老鸟揭秘企业生存指南
  • 从Skill使用者到创造者:手把手教你编写规范的AI Agent技能
  • FPGA数据流缓冲设计:从乒乓操作到握手流控的本质解析
  • 从科幻隐喻到工程实践:构建稳定、权能固化的复杂系统架构
  • 教程:自定义 Bean 的特性
  • 揭秘肥西县重点建设局网站背后的民生答卷与工程奇迹,带你读懂城市生长的力量
  • 电机异音检测传感器选型与安装完全指南
  • LP3568BG 同步整流芯片|DCM/CCM 兼容,自供电架构,精简外围阻容
  • Python构建咖啡销售数据分析系统:从数据处理到智能预测
  • 机器学习实战:房屋价格预测模型构建与优化
  • 深圳网站建设哪家口碑好:拒绝被割韭菜,教你从行业乱象中选出真正靠谱的服务商
  • VSCode Python调试与运行:launch.json与settings.json参数配置全解
  • BLE蓝牙安全机制全解析:从配对绑定到实战开发避坑指南
  • KingbaseES V9R2C13数据库性能优化实战与调优技巧
  • 揭秘东莞建设工程检测中心网站背后的真实实力与避坑指南
  • Node.js项目依赖管理:从package.json到生产部署的稳定基石
  • Cadence Allegro PCB设计实战:从环境配置到高级应用的效率提升指南
  • 揭秘南宁网站建设王道下拉強:打造高端菜单的实战指南与避坑指南
  • Unity资源逆向提取实战:AssetRipper从入门到精通
  • Java Record深度解析:从不可变数据载体到生产实践避坑指南
  • 北京大兴网站建设公司哪家好?揭秘那些不藏私心的选企指南与避坑真相
  • python神经网络编程入门(二十五)——IMDB 数据集预处理与词汇表构建
  • AI Agent开发实战:构建具备联网检索与多模态文件操作能力的智能体框架
  • 深圳知名网站建设价格解析与实战避坑指南
  • 每日热门skill-10万行PPT只需一句话?这个被腾讯官方的Skill,正在重新定义AI办公的天花板
  • 从Arduino到STM32:IIC通信协议详解与四位数码管驱动实战