给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树 :
返回其层序遍历:
[
[1],
[3,2,4],
[5,6]
]
说明:
树的深度不会超过 1000。
树的节点总数不会超过 5000。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
——————————————————————————————————————————————————————
func levelOrder(root *Node) [][]int {
res := make([][]int,0)
if root == nil {
return res
}
queue := make([]*Node,0)
queue = append(queue,root)
for len(queue) != 0 {
l := len(queue)
level := make([]int,0)
for i:=0;i<l;i++ {
v := queue[i]
level = append(level,v.Val)
for _,vt := range v.Children {
if vt != nil {
queue = append(queue,vt)
}
}
}
queue = queue[l:]
res = append(res,level)
}
return res
}