32.从上到下打印二叉树
二叉树的层序遍历。
题目
代码
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[]}
*/
var levelOrder = function(root) {
if(root === null) return []
// 使用一个队列
let queue = []
let res = []
queue.push(root)
while(queue.length) {
let arr = []
let size = queue.length
for(let i = 0; i < size; i++) {
// 将第一个元素弹出
let node = queue.shift()
arr.push(node.val)
node.left && queue.push(node.left)
node.right && queue.push(node.right)
}
res.push(...arr)
}
return res
};