/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/


class Solution {
public:
  /*
  * @param root: A Tree
  * @return: Postorder in ArrayList which contains node values.
  */
  vector <int> v;
  vector<int> postorderTraversal(TreeNode * root) {
  if (root == NULL) {
    return v;
  }
  postorderTraversal(root->left);
  postorderTraversal(root->right);
  v.push_back(root->val);
  return v;
  }
};