package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param root TreeNode类 * @return int整型一维数组 */ func PrintFromTopToBottom(root *TreeNode) []int { // write code here if root == nil { return nil } var queue []*TreeNode queue = append(queue, root) var ret []int for len(queue) > 0 { size := len(queue) for i := 0; i < size; i++ { cur := queue[0] ret = append(ret, cur.Val) queue = queue[1:] if cur.Left != nil { queue = append(queue, cur.Left) } if cur.Right != nil { queue = append(queue, cur.Right) } } } return ret }