1.题目

难度:简单

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

示例 :

给定二叉树

      1/ \2   3/ \     4   5

返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。


2.我的解答

把问题分解为: 直径 = max{目前最大直径,左子树深度 + 右子树深度}

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/int max (int a,int b) {return a > b ? a : b;
}
int travelTree(struct TreeNode * root, int * diameter) {if (root == NULL) {return 0;}int left = travelTree(root->left, diameter);int right = travelTree(root->right, diameter);*diameter = max(*diameter, left + right);return 1 + max(left, right);
}int diameterOfBinaryTree(struct TreeNode* root){int diameter = 0;travelTree(root, &diameter);return diameter;
}

LeetCode题组:第543题-二叉树的直径相关推荐

  1. 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /**  * Definition for a binary tree no ...

  2. 【LeetCode 剑指offer刷题】树题19:8 二叉树中序遍历的下一个结点

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 8 二叉树中序遍历的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注 ...

  3. ​LeetCode刷题实战623:在二叉树中增加一行

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  4. LeetCode《编程能力入门》刷题笔记(34 题全)

    LeetCode<编程能力入门>刷题笔记 基本数据类型 1. 在区间范围内统计奇数数目 _解法1:暴力迭代 _解法2:数学(找规律) 2. 去掉最低工资和最高工资后的工资平均值 _解法1: ...

  5. DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台、刷题集合、问题为导向的十大类刷题算法(数组和字符串、栈和队列、二叉树、堆实现、图、哈希表、排序和搜索、动态规划/回溯法/递归/贪心/分治)总

    DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台.刷题集合.问题为导向的十大类刷题算法(数组和字符串.栈和队列.二叉树.堆实现.图.哈希表.排序和搜索.动态规划/回溯法/递归/贪心/分治)总 ...

  6. 【LeetCode 剑指offer 刷题笔记】汇总(已完成)

    前言   不知不觉就结束了自己的秋招之路,虽感觉有些艰辛但是收获很多.找工作那段时间做了很多学习笔记,这是数据结构与算法相关的一部分笔记,这一块除了复习相关教科书,还有就是刷LeetCode和< ...

  7. 2015年 第06届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

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

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

  9. leetcode数组汇总_LeetCode刷题实战118:杨辉三角

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家聊 ...

最新文章

  1. [ECMAScript] 你喜欢es6的哪些特性?
  2. Asp.Net微信发布菜单,出现“invalid sub button url domain hint”错误
  3. unix环境高级编程 pdf_UNIX环境高级编程——记录锁
  4. 【LeetCode】剑指 Offer 40. 最小的k个数
  5. 修改dell 序列号_怎么将xp的vlk序列改为dell oem序列号工具
  6. 1.郝斌C语言笔记——书籍推荐
  7. 如何修复rpc服务器,打印时弹出RPC服务器不可用修复教程
  8. Google商店应用上架注意事项
  9. java-php-python-ssm新生报到管理计算机毕业设计
  10. VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor
  11. Caché 时间函数
  12. iOS使用 Metrickit 收集崩溃日志
  13. 设为首页,收藏本站代码
  14. 刷脸支付设备深度融合多项赋能
  15. MySQL理论:脏读、不可重复读、幻读
  16. 2022 SWPUCTF Web+Crypto方向wp
  17. 厉害了!竟然有程序员在GitHub上建了一个新华词典数据库
  18. php炫酷个人网站,炫酷好用的php个人发卡网源码-运营级自动发卡平台整站源码...
  19. arcmap创建空间索引_空间GIS索引算法介绍
  20. java实现item-cf_基于用户(UserCF)和物品(ItemCF)协同过滤算法的比较哈利波特问题...

热门文章

  1. CSP认证201412-4 最优灌溉[C++题解]:最小生成树裸题、Kruskal算法求最小生成树
  2. 算法提高课-搜索-多源BFS-AcWing 173. 矩阵距离:bfs、多源bfs
  3. 如何把两个域控同步_同步带噪音大,怎么办?
  4. linux mint cinnamon_最佳 Linux 发行版汇总
  5. 大势至电脑文件防泄密软件_有了数据防泄密软件,还会担心企业文件泄漏吗?...
  6. python 移动文件
  7. C++中的final关键字
  8. qq分享 设备未授权报错解决方案_金融行业思科设备典型网络故障案例:76系列典型案例(四)...
  9. 整数的二进制表达中有多少个1
  10. XGBoost相关知识-2