LeetCode题组:第543题-二叉树的直径
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题-二叉树的直径相关推荐
- 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /** * Definition for a binary tree no ...
- 【LeetCode 剑指offer刷题】树题19:8 二叉树中序遍历的下一个结点
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 8 二叉树中序遍历的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注 ...
- LeetCode刷题实战623:在二叉树中增加一行
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- LeetCode《编程能力入门》刷题笔记(34 题全)
LeetCode<编程能力入门>刷题笔记 基本数据类型 1. 在区间范围内统计奇数数目 _解法1:暴力迭代 _解法2:数学(找规律) 2. 去掉最低工资和最高工资后的工资平均值 _解法1: ...
- DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台、刷题集合、问题为导向的十大类刷题算法(数组和字符串、栈和队列、二叉树、堆实现、图、哈希表、排序和搜索、动态规划/回溯法/递归/贪心/分治)总
DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台.刷题集合.问题为导向的十大类刷题算法(数组和字符串.栈和队列.二叉树.堆实现.图.哈希表.排序和搜索.动态规划/回溯法/递归/贪心/分治)总 ...
- 【LeetCode 剑指offer 刷题笔记】汇总(已完成)
前言 不知不觉就结束了自己的秋招之路,虽感觉有些艰辛但是收获很多.找工作那段时间做了很多学习笔记,这是数据结构与算法相关的一部分笔记,这一块除了复习相关教科书,还有就是刷LeetCode和< ...
- 2015年 第06届 蓝桥杯 Java B组 决赛真题详解及小结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- LeetCode Algorithm 543. 二叉树的直径
543. 二叉树的直径 Ideas 这题貌似也在左神算法里见过. 基本思想就是递归,根节点从左子树获得一个想要的信息,从右子树获得一个想要的信息,然后对两个信息进行处理. 其实可以把直径分成两半看:从 ...
- leetcode数组汇总_LeetCode刷题实战118:杨辉三角
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家聊 ...
最新文章
- [ECMAScript] 你喜欢es6的哪些特性?
- Asp.Net微信发布菜单,出现“invalid sub button url domain hint”错误
- unix环境高级编程 pdf_UNIX环境高级编程——记录锁
- 【LeetCode】剑指 Offer 40. 最小的k个数
- 修改dell 序列号_怎么将xp的vlk序列改为dell oem序列号工具
- 1.郝斌C语言笔记——书籍推荐
- 如何修复rpc服务器,打印时弹出RPC服务器不可用修复教程
- Google商店应用上架注意事项
- java-php-python-ssm新生报到管理计算机毕业设计
- VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor
- Caché 时间函数
- iOS使用 Metrickit 收集崩溃日志
- 设为首页,收藏本站代码
- 刷脸支付设备深度融合多项赋能
- MySQL理论:脏读、不可重复读、幻读
- 2022 SWPUCTF Web+Crypto方向wp
- 厉害了!竟然有程序员在GitHub上建了一个新华词典数据库
- php炫酷个人网站,炫酷好用的php个人发卡网源码-运营级自动发卡平台整站源码...
- arcmap创建空间索引_空间GIS索引算法介绍
- java实现item-cf_基于用户(UserCF)和物品(ItemCF)协同过滤算法的比较哈利波特问题...
热门文章
- CSP认证201412-4	最优灌溉[C++题解]:最小生成树裸题、Kruskal算法求最小生成树
- 算法提高课-搜索-多源BFS-AcWing 173. 矩阵距离:bfs、多源bfs
- 如何把两个域控同步_同步带噪音大,怎么办?
- linux mint cinnamon_最佳 Linux 发行版汇总
- 大势至电脑文件防泄密软件_有了数据防泄密软件,还会担心企业文件泄漏吗?...
- python 移动文件
- C++中的final关键字
- qq分享 设备未授权报错解决方案_金融行业思科设备典型网络故障案例:76系列典型案例(四)...
- 整数的二进制表达中有多少个1
- XGBoost相关知识-2