当前位置: 首页> 科技> 互联网 > 微信公众号和小程序的区别_免费网络游戏排行榜_网站如何优化一个关键词_企业培训课程有哪些内容

微信公众号和小程序的区别_免费网络游戏排行榜_网站如何优化一个关键词_企业培训课程有哪些内容

时间:2025/7/13 4:01:35来源:https://blog.csdn.net/weixin_42117918/article/details/147473371 浏览次数:0次
微信公众号和小程序的区别_免费网络游戏排行榜_网站如何优化一个关键词_企业培训课程有哪些内容

1. 题目

描述

求给定二叉树的最大深度,

深度是指树的根节点到任一叶子节点路径上节点的数量。

最大深度是所有叶子节点的深度的最大值。

(注:叶子节点是指没有子节点的节点。)

数据范围:0 ≤n≤100000,树上每个节点的val满足∣val∣≤100 要求: 时间复杂度 O(n)

示例1

输入:

{1,2}

返回值:

2

示例2

输入:

{1,2,3,4,#,#,5}

返回值:

3

2. 解题思路

二叉树的最大深度(高度)可以通过递归来实现。对于一个节点来说,最大深度(高度)可以这样计算:左右子树的最大深度(高度)+1(1为当前节点对应的高度)。

先来看看是否满足递归的条件:

可以看出,求解二叉树的最大深度(高度)可以采用递归。对于一个节点来说,最大深度(高度)为:左右子树的最大深度(高度)+1(1为当前节点对应的高度)。因此对应的递推公式如下:

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1371743

  • Java版本:数据结构笔试面试算法-Java语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Java语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1367109

  • Golang版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1364649

3. 编码实现

核心代码如下:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param root TreeNode类* @return int整型*/
func maxDepth(root *TreeNode) int {// write code here// 2. 递归终止条件:节点为空,深度为0if root == nil {return 0}// 1. 问题分解(递推公式)// 1.1 获取左子树的深度leftMax := maxDepth(root.Left)// 1.2 获取右子树的深度rightMax := maxDepth(root.Right)// 左右子树的最大值maxValue := int(math.Max(float64(leftMax), float64(rightMax)))// 1.3 返回:左右子树深度的最大值+1(当前节点)return maxValue + 1}

具体完整代码你可以参考下面视频的详细讲解。

  • Python版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1371743

  • Java版本:数据结构笔试面试算法-Java语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Java语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1367109

  • Golang版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1364649

4.小结

二叉树的最大深度(高度)可以通过递归来实现。对于一个节点来说,最大深度(高度)可以这样计算:左右子树的最大深度(高度)+1(1为当前节点对应的高度)。


《数据结构与算法》深度精讲课程正式上线啦!七大核心算法模块全解析:

✅ 链表 ✅ 二叉树 ✅二分查找、排序 ✅ 堆、栈、队列 ✅回溯算法 ✅ 哈希算法 ✅ 动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss897667807

  • Java编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss161443488

  • Golang编码实现:数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ss63997

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:云想衣裳花想容,春风拂槛露华浓。

关键字:微信公众号和小程序的区别_免费网络游戏排行榜_网站如何优化一个关键词_企业培训课程有哪些内容

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: