429. N-ary Tree Level Order Traversal

Leetcode link

题目简介

本题题目给了一颗树的根节点,要求我们返回一个数组,其元素是树的每一层元素的值

解题思路

这题我们用 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
};

results matching ""

    No results matching ""