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

山西大同专业网站建设制作价格腾讯企点qq

山西大同专业网站建设制作价格,腾讯企点qq,软件app开发公司如何选择,做汽车网可参考网站二叉树的直径 题目题解解释 题目 543. 二叉树的直径 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 题解 …

二叉树的直径

    • 题目
    • 题解
    • 解释

题目

543. 二叉树的直径

给你一棵二叉树的根节点,返回该树的 直径 。

二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。

两节点之间路径的 长度 由它们之间边数表示。
在这里插入图片描述

题解

思路:找到左边最长和右边最长

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def diameterOfBinaryTree(self, root):""":type root: Optional[TreeNode]:rtype: int"""self.ans = 0def dfs(root):if root is None:return -1l_len = dfs(root.left) + 1r_len = dfs(root.right) + 1self.ans = max(self.ans, l_len + r_len)return max(l_len, r_len)dfs(root)return self.ans   

解释

假设我们有以下的二叉树:

     1/ \2   3/ \  4   5

步骤 1: 初始调用
diameterOfBinaryTree(root) 调用 dfs(root),即传入根节点 1。

步骤 2: 递归计算深度

  • 对节点 1:

    • 左子树:递归调用 dfs(root.left),即节点 2。
  • 对节点 2:

    • 左子树:递归调用 dfs(root.left),即节点 4。

      • 节点 4 是叶子节点,因此返回 0。
    • 右子树:递归调用 dfs(root.right),即节点 5。

      • 节点 5 是叶子节点,因此返回 0。
    • 对节点 2:l_len = 0 + 1 = 1,r_len = 0 + 1 = 1,self.ans = max(0, 1 + 1) = 2,返回 max(1, 1) = 1。

  • 对节点 1:

    • 左子树:返回节点 2 的深度 1。

    • 右子树:递归调用 dfs(root.right),即节点 3。

      • 节点 3 是叶子节点,因此返回 0。
    • 对节点 1:l_len = 1 + 1 = 2,r_len = 0 + 1 = 1,self.ans = max(2, 2 + 1) = 3,返回 max(2, 1) = 2。

步骤 3: 返回结果
最终返回 self.ans = 3,表示二叉树的直径为 3,即从节点 4 到节点 5,通过节点 2 再到节点 1,该路径包含 3 个节点。

http://www.mmbaike.com/news/33000.html

相关文章:

  • 河南做网站送记账网站优化方案设计
  • wordpress怎么添加搜索框宣城网站seo
  • 为什么要设计网页模板跨境电商seo
  • 王野虓乐陵seo优化
  • 做薪酬调查有哪些网站2022年新闻摘抄简短
  • 巩义专业网站建设价格百度热线电话
  • 网站是什么平台百度快照不更新怎么办
  • 课程设计做淘宝网站的目的dz论坛seo
  • 网站源码交易平台代码他达拉非什么是
  • phpcms 网站根目录关键词分布中对seo有危害的
  • 论坛网站文本抓取怎么做专业的推广公司
  • 网站建设哪些好注册推广赚钱一个80元
  • 天津哪里有做网站的免费推广工具有哪些
  • 做网站广告公司seo综合查询中的具体内容有哪些
  • 手机网站制作公司报价单google chrome浏览器
  • 专业的手机网站开发如何做网销
  • 中建三局招聘出国务工关键词优化公司前十排名
  • 河南郑州哪里可以做公司网站天眼查企业查询
  • wordpress 建立网站微信指数是搜索量吗
  • 广西南宁电商网站建设网络推广推广外包服务
  • 做网站要买多大服务器正规赚佣金的平台
  • 创新的网站建站宁波seo排名优化培训
  • 网站建设公司宣传标语seo168小视频
  • 网站建设服务怎么样百度云盘网官网
  • 做url网站网站域名ip地址查询
  • 怎么给钓鱼网站做防红济源新站seo关键词排名推广
  • 企业公司动态网站设计与实现阿里指数数据分析平台
  • 淘宝网站建设的特点平台营销策略都有哪些
  • 网站上的图文介绍怎么做网络营销是什么意思
  • 建设个人网站赚钱的经历云客网平台