欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言重构【589】N叉树的前序遍历

程序员文章站 2022-06-05 15:24:50
...

所有题目源代码:Git地址

题目

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

C语言重构【589】N叉树的前序遍历

  • 返回其前序遍历: [1,3,5,6,2,4]。

方案:

class Solution
{
public:
    vector<int> res;
    vector<int> preorder(Node *root)
    {
        if (root == NULL)
            return res;
        BFS_NLF(root);
        return res;
    }
    void BFS_NLF(Node *root)
    {
        res.push_back(root->val);
        int len = root->children.size();
        for (int i = 0; i < len; i++)
        {
            BFS_NLF(root->children[i]);
        }
    }
};
复杂度计算
  • 时间复杂度:O(n)
  • 空间复杂度:O(n)