func levelOrder(root *TreeNode) [][]int {
if (root == nil){
return [][]int{}
}
var quene []*TreeNode
quene = append(quene,root)
var res [][]int
var currentRes []int;
for len(quene)>0 {
currentLen := len(quene)
NewQuene := []*TreeNode{}
currentRes = []int{}
for i:=0;i<currentLen;i++{
node := quene[i];
currentRes = append(currentRes,node.Val);
if(node.Left!=nil){
NewQuene = append(NewQuene,node.Left)
}
if(node.Right!=nil){
NewQuene = append(NewQuene,node.Right)
}
}
quene = NewQuene
res = append(res,currentRes)
}
return res
}
网友评论