原题链接: 剑指 Offer 55 - I. 二叉树的深度题目描述
示例输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
3
/
9 20
/
15 7
解题思路
代码递归:从树根开始,记录count1=count2=1,即第一层根节点的层数,然后分别遍历它的左子树与右子树。以根节点的左儿子为新的根节点遍历,每到一层count1(如果是右子树为count2)+1,直到遍历结束,返回count1与count2中较大的数即为最大深度。
注:图片来源于leetcode官方题解
class Solution {
public int maxDepth(TreeNode root) {
if(root==null){
return 0;
}
int count1=1,count2=1;
if(root.left!=null){
count1+=maxDepth(root.left);
}
if(root.right!=null){
count2+=maxDepth(root.right);
}
return Math.max(count1,count2);
}
}
补充
好几天没有更了呀,但是没有偷懒來,最近在学一些新的算法跟数据结构,所以会比较困难。
还有一件激动的事,就是路飞大佬举办的第一届LeetCode刷题打卡活动今天就要开始了,前几名会有丰厚的现金奖励哦,欢迎大家来内卷(地址放在下面了)。
路飞大佬第一届LeetCode刷题打卡活动



