leetcode 3 | 刷题打卡

82 阅读1分钟

题目描述

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

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

    3
   / \
  9  20
    /  \
   15   7
返回:

[3,9,20,15,7]

提示:

节点总数 <= 1000

思路分析

利用层序遍历(BFS)打印整棵🌲

AC代码

var levelOrder = function(root) {
    if(!root) {
        return []
    }

    let resArr = []
    let queue = [root]
    while(queue.length) {
        let node = queue.shift()
        resArr.push(node.val)
        node.left && queue.push(node.left)
        node.right && queue.push(node.right)
    }
    
    return resArr
};

总结

树的层序遍历=>借助队列