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

    [589]N叉树的前序遍历 - 图1

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

    说明: 递归法很简单,你可以使用迭代法完成此题吗?

    1. /*
    2. // Definition for a Node.
    3. class Node {
    4. public:
    5. int val;
    6. vector<Node*> children;
    7. Node() {}
    8. Node(int _val) {
    9. val = _val;
    10. }
    11. Node(int _val, vector<Node*> _children) {
    12. val = _val;
    13. children = _children;
    14. }
    15. };
    16. */
    17. class Solution {
    18. public:
    19. vector<int> res;
    20. vector<int> preorder(Node* root) {
    21. dfs(root);
    22. return res;
    23. }
    24. void dfs(Node* root){
    25. if(root == nullptr){
    26. return ;
    27. }
    28. res.push_back(root->val);
    29. for(auto child:root->children){
    30. preorder(child);
    31. }
    32. return ;
    33. }
    34. };