/** * Definition for a binary tree node. */ #include struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} }; class Solution { private: std::vector traversal; public: std::vector postorderTraversal(TreeNode* root) { if (root != nullptr) { postorderTraversal(root->left); postorderTraversal(root->right); traversal.push_back(root->val); } return traversal; } };