1. 题目
剑指 Offer 55 - I. 二叉树的深度
2. 描述
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。 提示: 节点总数 <= 10000
3. 实现方法
3.1 方法 1
3.1.1 思路
- 先判断根节点是否为
null
,是则深度为 0; - 然后遍历左右子树中较大的深度,然后再加上 1 (根节点)即为二叉树的深度;
- 由于需要遍历所有节点,所以时间复杂度为
;
3.1.2 实现
代码语言:javascript复制public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
return Math.max(maxDepth(root.left), maxDepth(root.right)) 1;
}