package main
import . "nc_tools"
/*
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param pRoot TreeNode类
* @return int整型二维数组
*/
func Print( pRoot *TreeNode ) [][]int {
result:=[][]int{}
if pRoot==nil{return result}
q:=[]*TreeNode{pRoot}
isRight:=false
for len(q)!=0{
size:=len(q)
tmp:=[]int{}
for i:=0;i<size;i++{
tmp=append(tmp, q[i].Val)
if isRight{
if q[i].Right!=nil{
q=append(q, q[i].Right)
}
if q[i].Left!=nil{
q=append(q, q[i].Left)
}
}else{
if q[i].Left!=nil{
q=append(q, q[i].Left)
}
if q[i].Right!=nil{
q=append(q, q[i].Right)
}
}
}
isRight=!isRight
result=append(result, tmp)
q=q[size:]
reversal(q)
}
return result
}
func reversal(arr []*TreeNode){
for i:=0;i<len(arr)/2;i++{
arr[i],arr[len(arr)-1-i]=arr[len(arr)-1-i],arr[i]
}
}