题解 | #从上往下打印二叉树#
从上往下打印二叉树
http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701
package main
/*
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
*/
func PrintFromTopToBottom( root *TreeNode ) []int {
var ans []int
if root == nil { //空树
return ans
}
queue := []*TreeNode{root}
for len(queue) > 0 {
node := queue[0]
queue = queue[1:]
ans = append(ans, node.Val)
if node.Left != nil {
queue = append(queue, node.Left)
}
if node.Right != nil {
queue = append(queue, node.Right)
}
}
return ans
}

查看14道真题和解析