描述
求给定二叉树的最大深度,
深度是指树的根节点到任一叶子节点路径上节点的数量。
最大深度是所有叶子节点的深度的最大值。
(注:叶子节点是指没有子节点的节点。)
数据范围:0≤n≤100000,树上每个节点的val满足 ∣val∣≤100
要求: 空间复杂度 O(1),时间复杂度 O(n)
示例1
输入:
{1,2}
返回值:
2
示例2
输入:
{1,2,3,4,#,#,5}
返回值:
3
思路分析:
这里使用的是递归的方法来实现,比较简洁,左右节点遍历后取最大值,就是最大深度。
代码:
import java.util.*;public class Solution {/*** * @param root TreeNode类 * @return int整型*/public int maxDepth (TreeNode root) {if(root==null){return 0;}return 1+Math.max(maxDepth(root.left),maxDepth(root.right));}
}