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

力扣热题100之二叉树的直径

题目

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

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

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

代码

方法:递归

计算二叉树的直径可以理解为计算左、右子树的深度减一相加,然后再加上根节点左右后条边。

class Solution:def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:diameter = 0def dfs(node):nonlocal diameterif not node:return -1left_depth = dfs(node.left)right_depth = dfs(node.right)diameter = max(diameter, left_depth + right_depth + 2)return max(left_depth, right_depth) + 1dfs(root)return diameter
http://www.dtcms.com/a/231112.html

相关文章:

  • 文案伪原创用什么好?4款伪原创工具打造高质量文案
  • 我们来学zookeeper -- 集群搭建
  • xcode 各版本真机调试包下载
  • 小型民用AUV用途与研究
  • Python爬虫爬取天猫商品数据,详细教程【Python经典实战项目】
  • WireShark相关技巧
  • Python 入门到进阶全指南:从语言特性到实战项目
  • DexUMI:以人手为通用操作界面,实现灵巧操作
  • 【android bluetooth 协议分析 14】【HFP详解 1】【案例一: 手机侧显示来电,但车机侧没有显示来电: 讲解AT+CLCC命令】
  • 【OpenGL学习】(四)统一着色和插值着色
  • Nginx 安全设置配置
  • css实现圆环展示百分比,根据值动态展示所占比例
  • 代码随想录|动态规划|50编辑距离
  • oracle从表B更新拼接字段到表A
  • Fiddler Everywhere 安卓手机抓包
  • 一文了解 GPU 服务器及其在数据中心中的角色
  • 常见的MySQL索引类型
  • Day44打卡 @浙大疏锦行
  • MVCC理解
  • c++ STL 仿函数和适配器(算法常用)
  • Java运行环境配置日志(Log)运行条件,包含鸿蒙HarmonyOS
  • 【Java】CopyOnWriteArrayList
  • 【OSG学习笔记】Day 15: 路径动画与相机漫游
  • 结构性设计模式之Facade(外观)设计模式
  • 【二分图 图论】P9384 [THUPC 2023 决赛] 着色|普及+
  • SpringAI(GA):Nacos2下的分布式MCP
  • vue 打包报错 Cannot find module ‘@vue/cli-plugin-babel/preset‘ - thread-loader
  • vue-16(Vuex 中的模块)
  • 2025年渗透测试面试题总结-腾讯[实习]安全研究员(题目+回答)
  • IEEE ICBCTIS 2025 会议征稿:探索区块链与信息安全的前沿学术之旅​