当前位置: 首页 > 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.xdnf.cn/news/1066429.html

相关文章:

  • 通信网络编程3.0——JAVA
  • Spring Cloud微服务
  • Java面试题027:一文深入了解数据库Redis(3)
  • 【软考高级系统架构论文】论数据分片技术及其应用
  • Redis中的bigkey的介绍及影响
  • 安全再升级! 正也科技通过信息安全等级保护三级备案
  • 七八章习题测试
  • 高级版 Web Worker 封装(含 WorkerPool 调度池 + 超时控制)
  • 本地文件深度交互新玩法:Obsidian Copilot的深度开发
  • 能耗管理新革命:物联网实现能源高效利用
  • 小学期前端三件套学习(更新中)
  • 开启游戏新时代:神经网络渲染技术实现重大跨越
  • 【Torch】nn.GRU算法详解
  • 前端跨域解决方案(7):Node中间件
  • 容器技术入门与Docker环境部署指南
  • asp.net core Razor动态语言编程代替asp.net .aspx更高级吗?
  • 如何在 Vue 应用中嵌入 ONLYOFFICE 编辑器
  • LED-Merging: 无需训练的模型合并框架,兼顾LLM安全和性能!!
  • WebSocket长连接在小程序中的实践:消息推送与断线重连机制设计
  • 运维打铁: Windows 服务器基础运维要点解析
  • 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗
  • AI编程再突破,文心快码发布行业首个多模态、多智能体协同AI IDE
  • vue3整合element-plus
  • WebSocket快速入门
  • 卓易通是什么
  • 深度学习:PyTorch卷积神经网络(CNN)之图像入门
  • 【软考高级系统架构论文】论企业集成平台的理解与应用
  • Spring Boot 使用 ElasticSearch
  • 大数据时代UI前端的变革:从静态展示到动态交互
  • ISCSI存储