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

做图片带字的网站专业烟台房产网站建设

做图片带字的网站,专业烟台房产网站建设,湖北建站管理系统信息,网站备案和域名备案543. 二叉树的直径 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 //抄的 class Solution { public:int diam…

543. 二叉树的直径

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

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

两节点之间路径的 长度 由它们之间边数表示。

//抄的
class Solution {
public:int diameterOfBinaryTree(TreeNode* root) {int diameter = 0;maxDepth(root, diameter);return diameter;}private:int maxDepth(TreeNode* node, int& diameter) {if (!node) return 0;int leftDepth = maxDepth(node->left, diameter);int rightDepth = maxDepth(node->right, diameter);diameter = max(diameter, leftDepth + rightDepth);return max(leftDepth, rightDepth) + 1;}
};

很直观能想到和最大深度相关。

在求最大深度过程中,利用引用维护一个diameter,对应最大长度。

最大深度函数仍旧是递归逻辑,对于一个根节点,最大深度为max(left,right)+1。

主要是实时记录diameter,相当于在递归中实现了每个根节点中比较一次diameter和左深度+右深度,从而做到不遗漏。

http://www.dtcms.com/a/474050.html

相关文章:

  • SoftMotion: DriveInterface: Analog
  • 公司网站公司简介宣传夸大受处罚电子产品网页设计
  • asp网站怎么下载源码大品牌网站建设
  • for循环套for循环(Java基础语法)
  • 运维的概念以及流程零基础入门到精通
  • 网站建设最难的是什么美食网站开发前期准备
  • cpp http 客户端与服务端 POST请求
  • 门户网站开发淘客网站备案教程
  • 【PHP】利用 xlswriter 扩展导出的Excel文件报错问题
  • wordpress+制作首页模板下载网站优化公司推荐
  • SDKMAN工具来实现JDK版本的管理
  • Einops vs PyTorch 张量操作对比指南
  • 钉钉提醒业务系统源码,网站定时钉钉提醒业务系统
  • CentOS 7 安装 bzip2-libs-1.0.6-13.el7.x86_64.rpm 的详细步骤
  • 太原手手工网站建设公司贵阳市建设管理信息网站
  • 树和二叉树——一文速通
  • 轻松可视化数据的利器——JSON Crack
  • 美橙互联网站后台推广计划和推广单元有什么区别
  • 《彻底理解C语言指针全攻略(3)》
  • ORB_SLAM2原理及代码解析:LocalMapping 线程——LocalMapping::Run()
  • 【Linux】进程控制(二) 深入理解进程程序替换与 exec 系列函数
  • Linux中页面回收函数try_to_free_pages的实现
  • Transformer架构——原理到八股知识点
  • 广州网站建设商城企业网站服务
  • 【STM32项目开源】基于STM32的自适应车流交通信号灯
  • 鸿蒙NEXT应用状态栏开发全攻略:从沉浸式到自定义扩展
  • 堆(超详解)
  • Java Redis “Sentinel(哨兵)与集群”面试清单(含超通俗生活案例与深度理解)
  • Eureka注册中心通用写法和配置
  • python内置函数map()解惑:将可迭代对象中的每个元素放入指定函数处理