Leetcode 559.N叉树的最大深度 Maximum Depth of N-ary Tree(Java)
##Tree##, ##Depth-first Search##, ##Breadth-first Search##
N叉树的最大深度
采用DFS,类似二叉树求最大深度的方式,采用后序遍历的方式,递归处理所有结点
-
叶子结点的深度记为1
-
递归计算当前结点的子节点到叶子结点的最大深度
max
-
考虑到当前结点未被计算深度,返回
max + 1
时间复杂度: O(n)
class Solution {
public int maxDepth(Node root) {
if (root == null) return 0;
int max = 0;
for (Node n : root.children) {
max = Math.max(max, maxDepth(n));
}
return max + 1;
}
}