1. 题目

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。

示例 :
给定二叉树1/ \2   3/ \     4   5
返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/diameter-of-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int diameterOfBinaryTree(TreeNode* root) {int maxDiameter = 0;diameter(root,maxDiameter);return maxDiameter;}int diameter(TreeNode* root, int &maxDiameter) {if(root == NULL)return 0;int left = diameter(root->left,maxDiameter);int right = diameter(root->right,maxDiameter);int curMax = left+right;//包含当前根节点的直径为L+Rif(curMax > maxDiameter)maxDiameter = curMax;return max(left,right)+1;//给别人用的话,只能选取一侧,再加上root}
};

LeetCode 543. 二叉树的直径(DFS)相关推荐

  1. Java实现 LeetCode 543 二叉树的直径

    543. 二叉树的直径 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过根结点. 示例 : 给定二叉树 1/ \ 2 3 / \ 4 5 ...

  2. LeetCode 543二叉树的直径-简单

    给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过也可能不穿过根结点. 示例 : 给定二叉树 1/ \2 3/ \ 4 5 返回 3, 它的 ...

  3. leetcode - 543. 二叉树的直径

    给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过根结点. 示例 : 给定二叉树 解题思路:使用递归,注意递归和迭代的区别 class So ...

  4. leetcode 543. 二叉树的直径(Java版)

    题目 https://leetcode-cn.com/problems/diameter-of-binary-tree/ 题解 1:暴力法 暴力解法:遍历这棵树,当以每个节点为根时,计算 距离,取最大 ...

  5. 【LeetCode】【HOT】543. 二叉树的直径(递归)

    [LeetCode][HOT]543. 二叉树的直径 文章目录 [LeetCode][HOT]543. 二叉树的直径 package hot;class TreeNode{int val;TreeNo ...

  6. LeetCode Algorithm 543. 二叉树的直径

    543. 二叉树的直径 Ideas 这题貌似也在左神算法里见过. 基本思想就是递归,根节点从左子树获得一个想要的信息,从右子树获得一个想要的信息,然后对两个信息进行处理. 其实可以把直径分成两半看:从 ...

  7. 543. 二叉树的直径 golang

    文章目录 543. 二叉树的直径 example 正确解法 question 代码(wrong) 543. 二叉树的直径 概要: 借鉴了这个题的代码.可是有一个测试用例过不去 https://blog ...

  8. 543.二叉树的直径

    543.二叉树的直径 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过也可能不穿过根结点. 本题需要明确二叉树的直径计算方法: 二叉树的直 ...

  9. 543. 二叉树的直径

    543. 二叉树的直径 描述 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过也可能不穿过根结点. 示例 : 给定二叉树 1/ \2 3/ ...

最新文章

  1. 具有absolute、relative、fixed的div设置宽度和高度的效果
  2. 红曲面怎么做_新年就要“红”运当头 买款高颜值红色旗舰让年味更浓
  3. Spring第二讲--利用组件注解符精简Spring配置文件
  4. ​【Python】Python中好用的命令行参数解析模块
  5. Ⅶ:教你一招利用zookeeper作为服务的配置中心
  6. PHP中exec()函数执行系统命令失败
  7. 台安变频器n2按键说明_台安N2变频器说明书.pdf
  8. AMFPHP快速入门
  9. JAVA复习(对象的克隆、正则表达式)
  10. 使用了JDK自带的jconsole查看Tomcat运行情况
  11. RocketMQ : UpdateTopicSubCommand command failed connect to xxx:10909 failed
  12. ROS indigo在Ubuntu上的安装教程
  13. 走过 Google 2005年[zt]
  14. php微信公众平台开发获取access_token,用CURL出现certificate verify failed错误的解决方法...
  15. 【正点原子MP157连载】第十三章 外部中断实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  16. 微信小程序下载pdf到本地的坑
  17. LiquidCrystal-I2C
  18. 海贝思蓝牙接收器Linux,Hagibis海备思 蓝牙音频接收 耳机怎么样,评测
  19. 皮克定理和任意多边形的面积公式
  20. 云安全架构连载之一-Azure整体架构及安全亮点详解

热门文章

  1. 基于C++中常见内存错误的总结
  2. xcode左侧不显示工程文件目录,提示NO Filter Results
  3. java程序可分为两个基本文件_1 Java语言概述答案
  4. psql切换schema_PostgreSQL教程(二):模式Schema详解
  5. 【原】webpack--loaders,主要解释为什么需要loaders和注意事项
  6. UILabel添加图片之富文本的简单应用
  7. zbb20180117 汉字转拼音 pinyin4
  8. springaop----springaop的使用(一)
  9. ResultMap和ResultType在使用中的区别
  10. angularjs 表单验证 和 页面初始化闪烁