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

从上往下打印二叉树

https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701

package main

/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * @param root TreeNode类
 * @return int整型一维数组
 */
func PrintFromTopToBottom( root *TreeNode ) []int {
    ans := []int{}
    q := []*TreeNode{}
    if root != nil {
        q = append(q, root)
    }
    for len(q) != 0 {
        n := len(q)
        for ; n >= 1; n-- {
            front := q[0]
            ans = append(ans, front.Val)
            if front.Left != nil {
                q = append(q, front.Left)
            }
            if front.Right != nil {
                q = append(q, front.Right)
            }
            q = q[1:]
        }
    }
    return ans
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
12-18 11:21
优秀的大熊猫在okr...:叫你朋友入职保安,你再去送外卖,一个从商,一个从政,你们两联手无敌了,睁开你的眼睛看看,现在是谁说了算(校长在背后瑟瑟发抖)
选实习,你更看重哪方面?
点赞 评论 收藏
分享
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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