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

leetcode543-二叉树的直径

leetcode 543
在这里插入图片描述

思路

  1. 路径长度计算:任意两个节点之间的路径长度,等于它们的最低公共祖先到它们各自的深度之和
  2. 递归遍历:通过后序遍历(左右根)计算每个节点的左右子树深度,并更新全局最大直径
  3. 深度与直径的关系:节点的深度是其左右子树深度的最大值加 1,而直径是左右子树深度之和

实现

const diameterOfBinaryTree = function (root) {let maxDepth = 0 // 全局最大直径// 递归计算每个节点的深度,并更新最大直径const deep = (root) => {if (!root) return 0; // 空节点深度为0// 计算左子树深度const leftLen = deep(root.left);// 计算右子树深度const rightLen = deep(root.right);// 当前节点的直径(经过该节点的最长路径)const curLen = leftLen + rightLen;// 更新全局最大直径maxDepth = Math.max(curLen, maxDepth);// 返回当前节点的深度(用于父节点计算)return Math.max(leftLen, rightLen) + 1}deep(root)return maxDepth;
}
http://www.lqws.cn/news/494173.html

相关文章:

  • Flink SQL执行流程深度剖析:从SQL语句到分布式执行
  • 【Linux学习笔记】进程间通信之共享内存
  • Kimi“新PPT助手” ,Kimi全新自研的免费AI生成PPT助手
  • 金融行业B端系统布局实战:风险管控与数据可视化的定制方案
  • 深入理解PHP中的面向对象编程
  • 电脑的虚拟内存对性能影响大吗
  • FPGA基础 -- Verilog 竞争/竞态(Race Condition)
  • ubuntu安装postman教程并中文汉化详细教程
  • Anaconda虚拟环境
  • flutter TabBar左边间隔问题
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 8】【DeviceProperties介绍】
  • Java数据结构第二十四期:探秘 AVL 树,当二叉搜索树学会 “自我调节”
  • 2025再升级:医疗数智立体化体系V2.0架构简介
  • 布瑞琳BRANEW:高端洗护领航者,铸就品质生活新典范
  • 以产教协同推进老年生活照护实训室虚拟仿真建设策略
  • 物联网的全球布局与未来趋势
  • 在Ubuntu上设置Firefox自动化测试环境:指定Marionette端口号
  • MySQL 事务实现机制详解
  • DMDIS表抽取到文件
  • 3、结合STM32CubeMX学习FreeRTOS实时操作系统——队列
  • Spring Boot 使用 ElasticSearch
  • SpringSecurity6(认证-前后端分离)
  • 易直聘八大创新,重新定义未来招聘
  • Nginx与Tomcat:谁更适合你的服务器?
  • C++语言发展历程-2025
  • Vue按键事件
  • 春秋云镜【CVE-2016-4437】 shiro wp
  • 图形化http api测试工具yunedit-post
  • P3258 [JLOI2014] 松鼠的新家
  • Go+VS Code环境配置