/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: void postorder(vector<int> &res, TreeNode *root) { if(root == NULL) return; postorder(res,root->left); postorder(res,root->right); res.push_back(root->val); } vector<int> postorderTraversal(TreeNode* root) { vector <int> res; postorder(res,root); return res; } };