Construct Binary Tree From Preorder And Inorder Traversal

PHOTO EMBED

Sun Mar 17 2024 20:04:19 GMT+0000 (Coordinated Universal Time)

Saved by @playadust

class Solution:
    def buildTree(self, preorder: List[int], inorder: List[int]) -> Optional[TreeNode]:
        if not preorder or not inorder:
            return None

        root = TreeNode(preorder[0])
        mid = inorder.index(preorder[0])
        root.left = self.buildTree(preorder[1 : mid + 1], inorder[:mid])
        root.right = self.buildTree(preorder[mid + 1 :], inorder[mid + 1 :])
        return root
content_copyCOPY

https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/

https://www.youtube.com/watch?v=ihj4IQGZ2zc