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

wordpress 导航菜单 居中seo外包网络公司

wordpress 导航菜单 居中,seo外包网络公司,商城网站主要功能,临汾做网站公司1. 题目理解 定义:二叉树的直径是树中任意两个节点之间最长路径的长度(边数)。这条最长路径可能经过根节点,也可能不经过。注意:直径的长度是边数,而递归中常用的深度是节点数。 例如:1/ \2 3…

在这里插入图片描述

1. 题目理解

  • 定义:二叉树的直径是树中任意两个节点之间最长路径的长度(边数)。
  • 这条最长路径可能经过根节点,也可能不经过
  • 注意:直径的长度是边数,而递归中常用的深度是节点数

例如:

    1/ \2   3/ \
4   5
  • 直径 = 3
    路径:4 -> 2 -> 1 -> 3,共 3 条边。

2. 解题思路

要找二叉树直径,可以这样分析:

2.1 关键观察

对于任意一个节点 root

  • 经过该节点的最长路径长度 = 左子树最大深度 + 右子树最大深度
  • 所以我们只需要遍历所有节点,计算每个节点的最长路径长度,取最大值即可。
2.2 递归策略
  • 采用后序遍历(先算左右子树,再算当前节点),因为要先知道左右子树的深度才能算直径。
  • 在递归计算深度的同时,顺便更新全局变量 maxDiameter
2.3 为什么返回深度而不是直径?
  • 父节点的直径需要通过子树深度计算:

    父节点直径 = 左子树深度 + 右子树深度
    
  • 如果递归返回直径而不是深度,父节点就无法正确计算自己的直径。


3. 代码解析

class Solution {// 全局变量,用于记录最大直径int maxDiameter = 0;public:int diameterOfBinaryTree(TreeNode* root) {maxDepth(root);  // 递归计算深度的同时更新 maxDiameterreturn maxDiameter;}// 返回以 root 为根节点的最大深度(节点数)int maxDepth(TreeNode* root) {if (root == nullptr) {return 0; // 空节点深度为 0}// 递归计算左右子树的最大深度int leftMax = maxDepth(root->left);int rightMax = maxDepth(root->right);// 经过当前节点的直径 = 左子树深度 + 右子树深度int myDiameter = leftMax + rightMax;// 更新全局最大直径maxDiameter = max(maxDiameter, myDiameter);// 返回当前节点的最大深度return 1 + max(leftMax, rightMax);}
};

4. 复杂度分析

  • 时间复杂度:O(n)
    每个节点只被访问一次。
  • 空间复杂度:O(h)
    递归栈的深度,h 为树的高度,最坏情况下 O(n)。

http://www.yuulin.com/news/235.html

相关文章:

  • 帮企网站建设代运营网络营销方案策划书
  • 如何创建网站主页手机网站自助建站系统
  • dw个人网站制作网站seo快速优化技巧
  • c#做网站互联网营销案例分析
  • 焦作住房和城乡建设局网站太原全网推广
  • 建网站的八个步骤什么是网络推广
  • 大连九死一疯事件宁波优化关键词首页排名
  • 什么网站可以找人做软件重庆seo排名收费
  • 北京市网站开发公司线上营销推广方式
  • 宝坻做网站哪家好怎么拿到百度推广的代理
  • c 做网站需要什么知识网络营销的优势有哪些?
  • 焦作市住房和城乡建设局网站网站权重排名
  • 完美平台一键优化seo品牌优化
  • 做制作网站找啥工作杭州seo托管公司推荐
  • 网络解决方案韶山百度seo
  • 长期大量手工活外发百度seo教程
  • 中国水电建设集团港航建设有限公司网站近10天的时事新闻
  • 建筑工程承包合同惠州seo推广外包
  • 阿里云备案要关网站吗宁波seo搜索平台推广专业
  • 模板免费网站昆明网络推广公司排名
  • 深圳域名服务器地址北京网站优化步骤
  • 深圳小程序app开发东莞seo整站优化
  • 建行信用卡网站网络推广方案书模板
  • 做产品类网站有哪些江苏百度推广代理商
  • wordpress页面不留边seo教程seo官网优化详细方法
  • 有没有做家纺类的网站深圳优化排名公司
  • 合肥网站建设开发电话站长工具查询官网
  • 做美女网站流量网站设计与制作毕业论文范文
  • 网站建设的方法有昆明网络推广
  • 佛山定制网站建设个人可以做推广的平台有哪些