C++怎么实现二叉树的最大深度
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"C++怎么实现二叉树的最大深度",内容详细,步骤清晰,细节处理妥当,希望这篇"C++怎么实现二叉树的最大深度"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2026年11月03日C++怎么实现二叉树的最大深度
本文小编为大家详细介绍"C++怎么实现二叉树的最大深度",内容详细,步骤清晰,细节处理妥当,希望这篇"C++怎么实现二叉树的最大深度"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
二叉树的最大深度
Example:
Given binary tree [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
return its depth = 3.
求二叉树的最大深度问题用到深度优先搜索 Depth First Search,递归的完美应用,跟求二叉树的最小深度问题原理相同,参见代码如下:
C++ 解法一:
class Solution {public: int maxDepth(TreeNode* root) { if (!root) return 0; return 1 + max(maxDepth(root->left), maxDepth(root->right)); }};Java 解法一:
public class Solution { public int maxDepth(TreeNode root) { return root == null ? 0 : (1 + Math.max(maxDepth(root.left), maxDepth(root.right))); }}我们也可以使用层序遍历二叉树,然后计数总层数,即为二叉树的最大深度,注意 while 循环中的 for 循环的写法有个 trick,一定要将 q.size() 放在初始化里,而不能放在判断停止的条件中,因为q的大小是随时变化的,所以放停止条件中会出错,参见代码如下:
C++ 解法二:
class Solution {public: int maxDepth(TreeNode* root) { if (!root) return 0; int res = 0; queue q{{root}}; while (!q.empty()) { ++res; for (int i = q.size(); i > 0; --i) { TreeNode *t = q.front(); q.pop(); if (t->left) q.push(t->left); if (t->right) q.push(t->right); } } return res; }}; Java 解法二:
public class Solution { public int maxDepth(TreeNode root) { if (root == null) return 0; int res = 0; Queue q = new LinkedList<>(); q.offer(root); while (!q.isEmpty()) { ++res; for (int i = q.size(); i > 0; --i) { TreeNode t = q.poll(); if (t.left != null) q.offer(t.left); if (t.right != null) q.offer(t.right); } } return res; }} 读到这里,这篇"C++怎么实现二叉树的最大深度"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
深度
最大
C++
解法
文章
代码
内容
条件
问题
循环
妥当
最小
相同
写法
原理
大小
思路
新知
更多
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
互联网新科技
互联网科技公司经营范围
互联网属科技
科技企业和互联网企业
金诺互联网科技
互联网中国科技
互联网与新科技
奇酷互联网科技公司
兼蜜互联网科技
互联网金融 科技创新
长亮科技 互联网金融
互联网科技博主是什么意思
中国的互联网科技企业的崛起
互联网还是高科技吗
互联网保险科技创业
科技赋能视角下互联网保险发展
云南省自由互联网科技有限公司
皮皮虾互联网科技有限公司
同城互联网络科技
云南咖啡
致骋互联网科技
互联网金融科技创新
互联网科技小额贷款
富国互联网科技创新基金
农村开互联网科技讲堂
科技和互联网行业的特点
第三届互联网大会安防黑科技
恒生科技互联网指数十大成分股
广州全民伙伴互联网科技有限公司