码迷,mamicode.com
首页 > 其他好文 > 详细

菜鸟系列 Golang 实战 Leetcode —— 面试题32 - I. 从上到下打印二叉树

时间:2020-03-14 20:12:28      阅读:44      评论:0      收藏:0      [点我收藏+]

标签:def   面试   end   leetcode   treenode   利用   实战   type   init   

面试题32 - I. 从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

例如:
给定二叉树: [3,9,20,null,null,15,7],

    3
   /   9  20
    /     15   7
返回:

[3,9,20,15,7]
 

提示:

节点总数 <= 1000

题解

层次打印,利用切片保存每层的节点即可

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func levelOrder(root *TreeNode) []int {
    var res []int
    if root==nil{
        return res
    }
    var nodes []*TreeNode
    nodes=append(nodes,root)
    for i:=0;i<len(nodes);i++{
        res=append(res,nodes[i].Val)
        if nodes[i].Left!=nil{
            nodes=append(nodes,nodes[i].Left)
        }
        if nodes[i].Right!=nil{
            nodes=append(nodes,nodes[i].Right)
        }
    }
    return res
}

菜鸟系列 Golang 实战 Leetcode —— 面试题32 - I. 从上到下打印二叉树

标签:def   面试   end   leetcode   treenode   利用   实战   type   init   

原文地址:https://www.cnblogs.com/i-dandan/p/12493622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!