Go实现如下,有大神可以指导一下有什么方便的队列使用吗
func levelOrder( root *TreeNode ) [][]int {
// write code here
if root == nil {
return make([][]int, 0, 0)
}
var result = make([][]int, 0, 0)
var queue = make([]TreeNode, 1, 10)
queue[0] = *root
for len(queue) != 0 {
length := len(queue)
var levelResult = make([]int, 0, 0)
for i:= 0; i < length; i++ {
levelResult = append(levelResult, queue[i].Val)
if queue[i].Left != nil {
queue = append(queue, *queue[i].Left)
}
if queue[i].Right != nil {
queue = append(queue, *queue[i].Right)
}
}
queue = queue[length:]
result = append(result, levelResult)
}
return result
}


京公网安备 11010502036488号