这道题答案非常简单,但我查看了我当时做题记录发现竟然不会的,那还怎么好意思说自己掌握了递归!所以必须记录下的!
做题记录如下:
- 2022年6月23日21:55:03
许久回来看,要狠狠地一起看完然后总结了!
- 2022年6月23日21:59:41 现在看忽然有点难以拿出思路了!
- 2022年6月23日22:04:11 我靠,真的不会了。用递归可以,如何用?
- 2022年6月23日22:08:18 本以为想了10min还不会直接GG吧,刚准备放弃在最后一刻明白了,就是递归也只能递归,且这个递归的本质不是回退然后再做什么事,那就不是递归而是迭代了。所以这题递归就是左节点找最大深度,在右节点找,比较哪个大取哪个!
下面记录下题目+答案,之后每次翻看即可。不可万万不可再出现这种实际非常简单的题目我10分钟都没思路的情况了!
题目
二叉树的最大深度(力扣104)
来源:力扣(LeetCode)
Link:leetcode-cn.com/problems/ma…`
难度 简单
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
Example 1:
Input: root = [3,9,20,null,null,15,7]
Output: 3
Example 2:
Input: root = [1,null,2]
Output: 2
Constraints:
- The number of nodes in the tree is in the range [0, 10000].
-100 <= Node.val <= 100
题解
官方题解也是这个,我也做出来了,就简单递归即可啊! 递归真是yyds!
如代码, root节点的深度等于左子树与右子树的最大深度 + 1
public int maxDepth(TreeNode root) {
return root == null ? 0 : 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}
注意: 二叉树的最小深度 这题则没有这么简单了。之后也记录下!