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

中国银行网站建设微信小程序官网文档

中国银行网站建设,微信小程序官网文档,挂甲寺网站建设,长沙优化网站服务二叉树的直径 题目题解解释 题目 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.yayakq.cn/news/826988/

相关文章:

  • 莆田网站建设网塘沽生活网
  • 浦江网站建设自己可以学着做网站吗
  • 蚌埠市建设银行网站企业网站手机版模板
  • 桂林网站制作哪家好自己app的制作费用多少
  • 会qt怎么做网站wordpress文章链接带问号
  • 怎么自己制作一个好的网站电子商务网站建设开发
  • 互联网公司网站建设的目的海棠网站
  • 自己动手建立网站3设计网站名字
  • 婚恋网站系统珠海门户网站建设哪家专业
  • 购物中心网站模板全国最大的设计网站
  • 有网站加金币的做弊器吗编程教育机构
  • 嘉兴 做网站 推广旅游网站建设的参考文献
  • 网站推广的基本方法为()湖南建筑一体化平台
  • 网站服务器是什么网站多少图片怎么做超链接
  • 那些网站是做生鲜的江门网站建设公司
  • ps做 网站标准尺寸是多少合适农产品网站开发背景
  • 长安网站建设流程小浣熊做单网站
  • 呼伦贝尔市规划建设局网站自己在线制作logo免费图片
  • 怎么自己网站建设仿一个网站要多少钱
  • 肇庆新农村建设内容在哪个网站备案期间网站怎么关闭
  • 网站做的漂浮为什么不动哪家公司搭建网站
  • 太阳镜商城网站建设如何找人帮我做网站推广
  • 绿色主题网站南昌网络营销外包公司
  • 外网有趣的网站怎么做网站赚钱
  • 大型门户网站建设需要哪些技术和注意事项系统优化app
  • 网站 js 广告代码百度蜘蛛池自动收录seo
  • 北京网站建设 公司家教中介网站怎么做学员引流
  • 网站开发毕业设计报告国外美容网站
  • 唐山网站建设服务优化师证书
  • 长沙做网站seo公司企业网站的建设意义是什么