559.N 叉树的最大深度

68 阅读1分钟

题目:
给定一个 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
}