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

郑州做网站比较好的公司百度热搜榜排行

郑州做网站比较好的公司,百度热搜榜排行,自己建站模板,Wordpress怎么连接百度网盘文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的直径 出处:543. 二叉树的直径 难度 3 级 题目描述 要求 给定二叉树的根结点 root \texttt{root} root,返回其直径…

文章目录

  • 题目
    • 标题和出处
    • 难度
    • 题目描述
      • 要求
      • 示例
      • 数据范围
  • 解法
    • 思路和算法
    • 代码
    • 复杂度分析

题目

标题和出处

标题:二叉树的直径

出处:543. 二叉树的直径

难度

3 级

题目描述

要求

给定二叉树的根结点 root \texttt{root} root,返回其直径长度。

二叉树的直径是任意两个结点之间的最长路径长度。这条路径可能穿过也可能不穿过根结点。

两个结点之间的路径长度由它们之间边的数目表示。

示例

示例 1:

示例 1

输入: root = [1,2,3,4,5] \texttt{root = [1,2,3,4,5]} root = [1,2,3,4,5]
输出: 3 \texttt{3} 3
解释: 3 \texttt{3} 3 是路径 [4,2,1,3] \texttt{[4,2,1,3]} [4,2,1,3] [5,2,1,3] \texttt{[5,2,1,3]} [5,2,1,3] 的长度。

示例 2:

输入: root = [1,2] \texttt{root = [1,2]} root = [1,2]
输出: 1 \texttt{1} 1

数据范围

  • 树中结点数目在范围 [1, 10 4 ] \texttt{[1, 10}^\texttt{4}\texttt{]} [1, 104]
  • -100 ≤ Node.val ≤ 100 \texttt{-100} \le \texttt{Node.val} \le \texttt{100} -100Node.val100

解法

思路和算法

二叉树中的任意一条路径一定经过某个子树的根结点,子树可以是二叉树本身。

对于任意一个子树而言,经过该子树根结点的最长路径(以下称为「最长路径」,均指包含根结点的最长路径)一定满足以下条件:如果左子树不为空,则最长路径的左端是左子树的最深叶结点,否则最长路径的左端是根结点;如果右子树不为空,则最长路径的右端是右子树的最深叶结点,否则最长路径的右端是根结点。因此,子树的最长路径长度为该子树的左子树和右子树的深度之和,子树的深度为该子树的左子树和右子树的深度的较大值加 1 1 1。此处的深度定义为二叉树中结点的层数,如果二叉树为空则深度为 0 0 0,如果二叉树只有一个结点则深度为 1 1 1

由于二叉树的最长路径长度和二叉树的深度都取决于左子树和右子树的深度,因此可以使用深度优先搜索计算二叉树的深度,计算过程中得到二叉树的直径。

计算二叉树的深度的过程是一个递归的过程,递归的终止条件是当前结点为空,此时深度为 0 0 0。其余情况下,首先得到当前结点的左子树和右子树的深度,然后计算以当前结点为根结点的二叉树的深度和最长路径长度,并维护二叉树的直径。遍历结束之后,即可得到二叉树的直径。

代码

class Solution {int diameter = 0;public int diameterOfBinaryTree(TreeNode root) {getDepth(root);return diameter;}public int getDepth(TreeNode node) {if (node == null) {return 0;}int leftDepth = getDepth(node.left);int rightDepth = getDepth(node.right);diameter = Math.max(diameter, leftDepth + rightDepth);return Math.max(leftDepth, rightDepth) + 1;}
}

复杂度分析

  • 时间复杂度: O ( n ) O(n) O(n),其中 n n n 是二叉树的结点数。每个结点都被访问一次。

  • 空间复杂度: O ( n ) O(n) O(n),其中 n n n 是二叉树的结点数。空间复杂度主要是递归调用的栈空间,取决于二叉树的高度,最坏情况下是 O ( n ) O(n) O(n)

http://www.ds6.com.cn/news/40881.html

相关文章:

  • 南京专业网站设计哪个品牌网站关键词优化推广哪家好
  • 为什么网站关键词没有排名网站推广策划思路
  • 桂平网站建设广州网站营销优化qq
  • 创新网站建设方案书seo项目是什么
  • 南宁网站建设公司seo优化sem百度竞价推广
  • 招标网站排名前十名福清网络营销
  • 上海网站备案核验长沙排名推广
  • 怎样做分类网站软文平台发布
  • 自己做的网站打开是乱码引流推广神器
  • vs做的网站怎么让局域网的看到建站abc官方网站
  • 产品设计软件有哪些软件优化网站平台
  • 什么网站可以学做西餐游戏推广工作好做吗
  • 免费域名映射宁波seo排名优化培训
  • 网站备案查询是什么意思新闻最新消息10条
  • pc网站平台seo专业学校
  • 手机无法登录wordpress太原seo全网营销
  • 用ps做的网站样图怎么切网站设计公司
  • 网站哪家做的好seo前线
  • 寻找项目做的网站谷歌google下载安卓版 app
  • 中文logo设计网站网站建设优化哪家公司好
  • 军事最新军事新闻视频seo搜索引擎优化实战
  • 外贸网站建设公司流程图友情链接交换方式有哪些
  • 家居商城网站模板seo技术网网
  • 廊坊网站建设解决方案建站模板哪个好
  • 做网站投广告攻略今日早间新闻
  • 广东建设注册执业中心网站360推广登录入口官网
  • 什么网站可以找试卷做网络培训平台有哪些
  • 政府门户网站建设的重要性想学销售去哪培训
  • wordpress建站教程视频教程网络营销心得体会300字
  • 阿里巴巴国际站关键词推广树枝seo