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

网站免费申请注册2022营业执照年审

网站免费申请注册,2022营业执照年审,2016做砸了的小网站,网站制作公司广州二叉树的直径:树中任意两个节点间最长路径的长度。这个路径可能经过根节点,也可能不经过。 算法思路 采用深度优先搜索(DFS)的后序遍历方式,计算每个节点的左右子树高度,并在过程中更新最大直径。 代码解析 var diameterOfBin…

二叉树的直径:树中任意两个节点间最长路径的长度。这个路径可能经过根节点,也可能不经过。

算法思路

采用深度优先搜索(DFS)的后序遍历方式,计算每个节点的左右子树高度,并在过程中更新最大直径。

代码解析

var diameterOfBinaryTree = function(root) {let ans = 0  // 用于记录当前找到的最大直径const dfs = (node) => {if (node === null) {return 0  // 空节点的高度为0}// 递归计算左右子树的高度const lLen = dfs(node.left)const rLen = dfs(node.right)// 更新最大直径:当前节点作为"转折点"时的路径长度ans = Math.max(ans, lLen + rLen)// 返回当前节点的高度(左右子树中较高的那个 + 1)return Math.max(lLen, rLen) + 1}dfs(root)  // 从根节点开始遍历return ans
};

关键点解释

  1. 后序遍历:先处理左右子树,再处理当前节点,这确保了在计算当前节点时,其子树的信息已经计算完成。

  2. 高度计算:对于每个节点,我们计算其左右子树的高度:

    • lLen 是左子树的高度
    • rLen 是右子树的高度
  3. 直径更新:直径是通过某个节点的最长路径,这个路径长度等于左子树高度 + 右子树高度。我们不断用这个值更新全局最大值 ans

  4. 返回值:每个节点返回的是以它为根的子树的高度,这是为了父节点能够计算它自己的直径。

示例分析

考虑以下二叉树:

      1/ \2   3/ \     4   5    

计算过程:

  1. 节点4:lLen=0, rLen=0 → ans=0, 返回1
  2. 节点5:lLen=0, rLen=0 → ans=0, 返回1
  3. 节点2:lLen=1(来自4), rLen=1(来自5) → ans=2, 返回2
  4. 节点3:lLen=0, rLen=0 → ans=2, 返回1
  5. 节点1:lLen=2(来自2), rLen=1(来自3) → ans=3, 返回3

最终直径为3(路径[4,2,1,3]或[5,2,1,3]的长度)

时间复杂度

  • 时间复杂度:O(n),其中n是树中的节点数。每个节点只被访问一次。
  • 空间复杂度:O(h),其中h是树的高度。这是递归调用栈的空间消耗。

文章转载自:

http://GzvI7oic.rrqgf.cn
http://9juqecEh.rrqgf.cn
http://ByXNC4yP.rrqgf.cn
http://Uc22vwfo.rrqgf.cn
http://F4mAhfeE.rrqgf.cn
http://yZRwIFpO.rrqgf.cn
http://4BuZGgzz.rrqgf.cn
http://9vwbpauA.rrqgf.cn
http://GibgeysR.rrqgf.cn
http://l5zia6Zd.rrqgf.cn
http://DiLlrkBK.rrqgf.cn
http://SjNH0LIJ.rrqgf.cn
http://qePaNebB.rrqgf.cn
http://rTaPxod2.rrqgf.cn
http://CShIKlnx.rrqgf.cn
http://HXDVjNvB.rrqgf.cn
http://Ie3vorqG.rrqgf.cn
http://5gm9NKcz.rrqgf.cn
http://hkEJTTSZ.rrqgf.cn
http://IxQeFpZ8.rrqgf.cn
http://0sE1NE3m.rrqgf.cn
http://6YowLRT1.rrqgf.cn
http://adHWEsgE.rrqgf.cn
http://U0KLOtCi.rrqgf.cn
http://Xf1AXXTN.rrqgf.cn
http://lj5N9oir.rrqgf.cn
http://HMf2QeK6.rrqgf.cn
http://tngXsTEs.rrqgf.cn
http://clZz4lwH.rrqgf.cn
http://CAGZ2uhx.rrqgf.cn
http://www.dtcms.com/wzjs/668058.html

相关文章:

  • 为什么要建设个人网站word模板免费下载
  • php做的购物网站网站开发公司东莞
  • 南昌住房建设局网站网站如何做电脑和手机app
  • 莱西网站建设网络营销推广方法和应用场景
  • 施工企业资质划分如何做自己网站的seo
  • 资阳市网站建设成都旅游景点大全排名
  • 类似一起做网店的网站vs和php哪个做网站好
  • 最好的医疗网站建设北京值得去的互联网公司
  • 上海联通 网站备案wordpress转为app
  • 福建西南建设有限公司网站网易企业邮箱登陆入口官网
  • 设计类的网站和简介郑州app软件定制
  • php源码 个人网站华为云云速建站教程
  • 做智能网站系统下载地址在线代理网页浏览
  • wordpress 公司网站 模板 下载国内外网站网站
  • 校园网上零售网站建设方案北京网站建设模板
  • 电子商务安全问题 网站权限管理腾讯企业邮箱免费注册入口
  • 西安建站费用网站维护合同范本
  • 公众号网站制作全球速卖通入驻条件
  • 网站评估 源码国外租车网站模板
  • 一起做财经网站网上购物商城网站
  • 机械制造网站漳州最便宜的网站建设价格
  • 成都网站设计 常凡云网站优化营销公司
  • 企业网站开发教程北京网站建设好
  • 一个空间可以建多个网站做文字头像的网站
  • 品牌网站源码wordpress的关键词插件
  • 我想在泉州做网站中国建设银行广西分行网站首页
  • 专业建站外包wordpress做的网站扩展性
  • 自己做网站用什么数据库400元做网站送网推
  • 河源东莞网站建设wordpress内网响应慢
  • 厦门网站建设价五金设备网站建设