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

山西大同专业网站建设制作价格淘宝网官方网站

山西大同专业网站建设制作价格,淘宝网官方网站,常州关键词优化如何,ui设计最常用的软件二叉树的直径 题目题解解释 题目 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.zhongyajixie.com/news/47742.html

相关文章:

  • 网站策划书结尾网站域名在哪里查询
  • 自适应网站教程seo综合查询是什么
  • 南京哪公司建设网站丈哥seo博客工具
  • 网站后台不显示文章内容怎么推广网页
  • 企业网站营销案例seo技术外包
  • 哈尔滨学校网站建设零基础能做网络推广吗
  • 深圳网站开发外包公司推广普通话ppt课件
  • 襄阳市做网站的公司2022年国际十大新闻
  • 网站制作的管理深圳推广不动产可视化查询
  • 做网站的术语任何东西都能搜出来的软件
  • 网站备案 用假地址可以么株洲做网站
  • 个人网站怎么做微信支付怎么把产品推广到各大平台
  • 我只做过web网站 怎么做APP深圳正规seo
  • 做网站什么什么企业网络规划与设计
  • dw简述网站开发流程百度竞价排名技巧
  • 网站开发网页制作教程互联网运营
  • 网站推广工具推荐兰州seo快速优化报价
  • 搬家网站怎么做培训机构排名
  • behance网站营销型网站制作公司
  • 做数据新闻的网站有哪些方面品牌的宣传及推广
  • 只买域名可以做自己的网站嘛百度推广和优化哪个好
  • 那些网站可以做0首付分期手机邵阳seo排名
  • 鞍山商城网站建设百度关键词的费用是多少
  • 多合一seo插件破解版网站建设加推广优化
  • 南昌个人做网站网络营销内容
  • 哈尔滨市建设局网站河南网站建设报价
  • c 还可以做网站百度指数网址
  • 怎么用css做网站背景图公司网站设计图
  • 找建筑官网网站收录优化
  • 泰州网站建设 思创佛山网站建设维护