题解 | #从上往下打印二叉树#

从上往下打印二叉树

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
}
全部评论

相关推荐

09-23 20:50
门头沟学院 Java
有一道异或题,很有意思,给出了二进制以外的异或定义,还挺有道理的
我不是本人:感觉题目好难啊一个也没ac
投递百度等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务