429. N-ary Tree Level Order Traversal
题目简介
本题题目给了一颗树的根节点,要求我们返回一个数组,其元素是树的每一层元素的值
解题思路
这题我们用 bfs 的思路来做,用一个队列来维护当前层的节点
此外题目给的根节点有可能为 null,需要额外留意
Javascript
/**
* // Definition for a _Node.
* function _Node(val,children) {
* this.val = val;
* this.children = children;
* };
*/
/**
* @param {_Node|null} root
* @return {number[][]}
*/
var levelOrder = function (root) {
if (root === null) {
return []
}
const res = []
const queue = [[root]]
while (queue.length > 0) {
const elements = queue.shift()
const values = []
const nextLevelElements = []
for (const ele of elements) {
values.push(ele.val)
nextLevelElements.push(...ele.children)
}
res.push(values)
nextLevelElements.length > 0 && queue.push(nextLevelElements)
}
return res
};