589.N Ary Tree Preorder Traversal

589.N Ary Tree Preorder Traversal

难度:Easy

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

例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。

代码如下:

  • 递归版本:

/*
// Definition for a Node.
class Node {
public:
    int val;
    vector<Node*> children;

    Node() {}

    Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution {
public:
    vector<int> preorder(Node* root) {
        vector<int >res;
        if(!root) return res;
        res.push_back(root->val);
        for(auto i:root->children)
        {
            vector<int>tmp=preorder(i);
            res.insert(res.end(),tmp.begin(),tmp.end());
            }   
        return res;
    }
};
  • 迭代版本:

Last updated

Was this helpful?