树的先序遍历,使用递归实现。

class Solution {
public:
    vector<Node> Tree;

    void preTree(Node node)
    {
        Tree.push_back(Node(node.val, node.children));
        for (auto n : node.children)
        {
            Node node;
            node = Node(n->val, n->children);
            preTree(node);
        }
    }

    vector<int> preorder(Node* root) {
        vector<int> V;
        if (root != NULL)
        {
            preTree(*root);
            for (auto n : Tree)
            {
                V.push_back(n.val);
            }
        }        
        return V;
    }
};

 

posted on 2018-09-25 22:10  Sempron2800+  阅读(75)  评论(0编辑  收藏  举报