题解 | #求二叉树的层序遍历#
求二叉树的层序遍历
https://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3
package main
import . "nc_tools"
/*
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
/**
*
* @param root TreeNode类
* @return int整型二维数组
*/
func levelOrder(root *TreeNode) [][]int {
var res [][]int
if root == nil {
return res
}
nodeList := make([]*TreeNode, 0)
nodeList = append(nodeList, root)
for len(nodeList) > 0 {
var next []*TreeNode
var data []int
for _, node := range nodeList {
data = append(data, node.Val)
if node.Left != nil {
next = append(next, node.Left)
}
if node.Right != nil {
next = append(next, node.Right)
}
}
nodeList = next
res = append(res, data)
}
return res
}

