题目:
给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)
算法:
方法一:BFS
func maxDepth(root *Node) int {
if root == nil {
return 0
}
count := 0
arr := []*Node{root}
for len(arr) != 0 {
n := len(arr)
for i := 0; i < n; i ++ {
for j := range arr[i].Children {
if arr[i].Children[j] != nil {
arr = append(arr, arr[i].Children[j])
}
}
}
arr = arr[n:]
count ++
}
return count
}