输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
例如:
给定二叉树 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最大深度 3 。
提示:
节点总数 <= 10000
注意:本题与主站 104 题相同:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
Related Topics
深搜模板直接套用
dfs()
方法返回当前节点下的最大深度- 如果当前节点有值,深度加1
- 递归左右节点,返回左右节点的最大深度
- 左右节点的最大深度中返回较大的那个
class Solution {
public int maxDepth(TreeNode root) {
if (root==null){
return 0;
}
return dfs(root,0);
}
public int dfs(TreeNode node, int deep){
if (node==null){
return deep;
}
deep++;
int left = dfs(node.left,deep);
int right = dfs(node.right,deep);
return Math.max(left,right);
}
}
发表评论