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

做暧暧xoxo网站现在有哪些网址

做暧暧xoxo网站,现在有哪些网址,php手机网站后台源码,如何在阿里云云服务器上搭建网站LeetCode 热题 100 | 543. 二叉树的直径 大家好,今天我们来解决一道经典的二叉树问题——二叉树的直径。这道题在 LeetCode 上被标记为简单难度,要求计算给定二叉树的直径。 问题描述 给你一棵二叉树的根节点,返回该树的直径。二叉树的直径…

LeetCode 热题 100 | 543. 二叉树的直径

大家好,今天我们来解决一道经典的二叉树问题——二叉树的直径。这道题在 LeetCode 上被标记为简单难度,要求计算给定二叉树的直径。


问题描述

给你一棵二叉树的根节点,返回该树的直径。二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点。

示例 1:

输入:root = [1,2,3,4,5]
输出:3
解释:3,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。

示例 2:

输入:root = [1,2]
输出:1

提示:

  • 树中节点数目在范围 [1, 10^4]
  • -100 <= Node.val <= 100

解题思路

核心思想
  1. 递归法

    • 使用递归法计算每个节点的左子树和右子树的最大深度。
    • 对于每个节点,计算其左子树深度和右子树深度之和,作为该节点的直径。
    • 更新全局最大直径。
  2. 辅助函数

    • 定义一个辅助函数 maxDepth,用于计算以某个节点为根的子树的最大深度。

Python代码实现

class Solution:def diameterOfBinaryTree(self, root: TreeNode) -> int:self.max_diameter = 0def maxDepth(node: TreeNode) -> int:if not node:return 0left_depth = maxDepth(node.left)right_depth = maxDepth(node.right)# 更新全局最大直径self.max_diameter = max(self.max_diameter, left_depth + right_depth)return max(left_depth, right_depth) + 1maxDepth(root)return self.max_diameter

代码解析

  1. 初始化

    • 定义一个全局变量 self.max_diameter,用于存储全局最大直径。
  2. 递归函数

    • 定义一个辅助函数 maxDepth,用于计算以某个节点为根的子树的最大深度。
    • 如果节点为空,返回 0。
    • 递归计算左子树和右子树的最大深度。
    • 更新全局最大直径为左子树深度和右子树深度之和。
    • 返回当前节点的最大深度。
  3. 主函数

    • 调用 maxDepth 函数,从根节点开始计算最大深度。
    • 返回全局最大直径。

复杂度分析

  • 时间复杂度:O(n),其中 n 是树中节点的数量。每个节点被访问一次。
  • 空间复杂度:O(h),其中 h 是树的高度。递归调用栈的深度最多为树的高度。

示例运行

示例 1
输入:root = [1,2,3,4,5]
输出:3
解释:3,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。
示例 2
输入:root = [1,2]
输出:1

总结

通过递归法,我们可以高效地计算二叉树的直径。递归函数 maxDepth 用于计算每个节点的左子树和右子树的最大深度,并更新全局最大直径。希望这篇题解对大家有所帮助,如果有任何问题,欢迎在评论区留言讨论!

关注我,获取更多算法题解和编程技巧!

http://www.dtcms.com/wzjs/517557.html

相关文章:

  • 凡科 360免费建站国家免费培训学校
  • 武汉有个人做网站的免费建站系统官网
  • 山东省示范校建设网站关键词自动生成器
  • 做服装的外贸网站windows优化大师和鲁大师
  • 做网站怎么防止被黑如何注册一个网站
  • 网站建设网站推广热搜榜上2023年热门话题
  • php 禁止电脑访问网站百度热搜榜排名今日第一
  • wordpress 教材主题泽成杭州seo网站推广排名
  • 新疆网站备案怎么办理电商平台如何推广运营
  • 做网站建设还有钱赚吗上海网站seo诊断
  • 网站抄袭博客程序seo
  • 网站建设中html如何免费推广自己的产品
  • 英文书 影印版 网站开发站长之家工具高清
  • 网站建设 国外seo站长网怎么下载
  • 哪个网站教人做美食外贸网站平台都有哪些 免费的
  • 外贸网站做哪些语言重庆小潘seo
  • 做企业网站支付功能长沙哪家网络公司做网站好
  • 网站建设合作品牌整站优化提升排名
  • 创意经济型网站建设杭州百度百家号seo优化排名
  • 网站官网认证怎么做的关键词生成器在线
  • 丰台网站建设公司石家庄百度快照优化排名
  • 南昌做网站的公司网站服务器地址查询
  • 雄安邯郸网站制作多少钱seo如何优化
  • 网站系统怎么做前端seo优化
  • 网站建设 个人模板下载seo模拟点击有用吗
  • 如何把动态图发网站做头像百度seo霸屏软件
  • 聊城房地产网站建设怎么做网站免费的
  • 网站建设制作设计公司佛山软件开发公司经营范围
  • 网站开发和网页设计的区别四川seo整站优化吧
  • 莱芜话题最新消息seo兼职工资一般多少