题目
给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
例如,给定一个 3叉树 :
我们应返回其最大深度,3。
分析
与二叉树的思维一致,找出所有子树深度最大的那个并返回.
代码
/**
* 递归算法
* @param root
* @return
*/
public int maxDepth(Node root) {
if(root == null){
return 0;
}
int max = 0;
List<Node> childrens = root.children;
for (int i = 0; i < childrens.size() ; i++) {
Node cur = childrens.get(i);
max = Math.max(max,maxDepth(cur));
}
return max+1;
}