Easy to Understand | Faster | Simple | Recursion | Python Solution
\n   def recursive(self, inorder, postorder):\n        def rec(inorder):\n            # print(inorder, postorder)\n            if len(postorder):\n             
```\n   def recursive(self, inorder, postorder):\n        def rec(inorder):\n            # print(inorder, postorder)\n            if len(postorder):\n                value = postorder[-1]\n                node = TreeNode(value)\n                if value not in inorder: return None\n                pos = inorder.index(value)\n                postorder.pop()\n                node.right = rec(inorder[pos + 1:])\n                node.left = rec(inorder[0:pos])\n                return node\n        return rec(inorder)\n```\n\n**I hope that you\'ve found the solution useful.**\n*In that case, please do upvote and encourage me to on my quest to document all leetcode problems\uD83D\uDE03*\nPS: Search for **mrmagician** tag in the discussion, if I have solved it, You will find it there\uD83D\uDE38
['Depth-First Search', 'Recursion', 'Python', 'Python3']