方法一:递归

    1. // Definition for a Node.
    2. class Node {
    3. public:
    4. int val;
    5. vector<Node*> children;
    6. Node() {}
    7. Node(int _val) {
    8. val = _val;
    9. }
    10. Node(int _val, vector<Node*> _children) {
    11. val = _val;
    12. children = _children;
    13. }
    14. };
    15. */
    16. class Solution {
    17. public:
    18. vector<int> postorder(Node* root) {
    19. if(root==NULL){
    20. return result;
    21. }
    22. for(auto&it:root->children){
    23. postorder(it);
    24. }
    25. result.push_back(root->val);
    26. return result;
    27. }
    28. vector<int>result;
    29. };