package main
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
  * 
  * @param root TreeNode类 
  * @return int整型二维数组
*/
func levelOrder( root *TreeNode ) [][]int {
    result:=[][]int{}
    if root==nil{return result}
    q:=[]*TreeNode{root}
    for len(q)!=0{
        size:=len(q)
        tmp:=[]int{}
        for i:=0;i<size;i++{
            tmp = append(tmp, q[i].Val)
            if q[i].Left!=nil{
                q = append(q, q[i].Left)
            }
            if q[i].Right!=nil{
                q = append(q, q[i].Right)
            }
        }
        result=append(result, tmp)
        q=q[size:]
    }
    return result
}