Python easy to understand recursive solution
\nclass Solution(object):\n    def buildTree1(self, inorder, postorder):\n        if not inorder:\n            return None\n        idx = inorder.index(postorde
```\nclass Solution(object):\n    def buildTree1(self, inorder, postorder):\n        if not inorder:\n            return None\n        idx = inorder.index(postorder.pop())\n        root = TreeNode(inorder[idx])\n        root.left = self.buildTree(inorder[:idx], postorder[:idx])\n        root.right = self.buildTree(inorder[idx+1:], postorder[idx:])\n        return root\n    \n    def buildTree(self, inorder, postorder):   \n        if inorder:\n            ind = inorder.index(postorder.pop())\n            root = TreeNode(inorder[ind])\n            root.right = self.buildTree(inorder[ind+1:], postorder)\n            root.left = self.buildTree(inorder[:ind], postorder)\n            return root\n```
['Recursion', 'Python']