LC-590 N叉树后序遍历

目标:

输入一个多叉树的结构,后续遍历输出每个节点的值

 

思路:

使用递归,按后序逻辑,先遍历所有子节点进行递归,再将当前节点的值输出

 

代码:

 1 /*
 2 // Definition for a Node.
 3 class Node {
 4 public:
 5     int val;
 6     vector<Node*> children;
 7 
 8     Node() {}
 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         vector<int> result;
20         if (root == NULL) return result;
21         traversal(root, result);
22         return result;
23     }
24     void traversal(Node* root, vector<int>& result) {
25         for (int i = 0; i < (root -> children).size(); i++) {
26             traversal((root -> children)[i], result);
27         }
28         result.push_back(root -> val);
29     }
30 };

 

posted @ 2018-11-12 14:38  leo_lee  阅读(122)  评论(0编辑  收藏  举报