Featured image of post 剑指 Offer 32 - I. 从上到下打印二叉树

剑指 Offer 32 - I. 从上到下打印二叉树

题目描述

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

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

    3
   / \
  9  20
    /  \
   15   7

返回:

[3,9,20,15,7]

提示:

  • 节点总数 <= 1000

解法一:BFS

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
func levelOrder(root *TreeNode) []int {
    if nil == root {
        return []int{}
    }
    var res []int
    var queue []*TreeNode
    queue = append(queue, root)
    for len(queue) > 0 {
        cur := queue[0]
        queue = queue[1:]
        if cur.Left != nil {
            queue = append(queue, cur.Left)
        }go
        if cur.Right != nil {
            queue = append(queue, cur.Right)
        }
        res = append(res, cur.Val)
    }
    return res
}
Licensed under CC BY-NC-SA 4.0
最后更新于 2023/06/17 13:11:23
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计