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 };