[路飞]_LeetCode_589. N 叉树的前序遍历

题目

给定一个 N 叉树,返回其节点值的 前序遍历 。

N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。

示例 1:

输入: root = [1,null,3,2,4,null,5,6]
输出: [1,3,5,6,2,4]
复制代码

解题思路

  1. 二叉树的前序遍历为:根-左子树-又子树
  2. 这道题是N叉树,没有左、右子树,只有存放孩子节点的数组
  3. N叉树遍历:根-子数组

代码实现

var preorder = function(root) {
    if (!root) return []
    const ans = [root.val]
    
    function traversal(root) {
        for(let child of root.children) {
            ans.push(child.val)
            traversal(child)
        }
    }

    traversal(root)

    return ans
};
复制代码

如有错误欢迎指出,欢迎一起讨论!

猜你喜欢

转载自juejin.im/post/7041545081261654053