Construct Binary Tree from Preorder and Inorder Traversal
https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
if not preorder:
return None
root = TreeNode(val := preorder[0])
idx = inorder.index(val)
root.left = self.buildTree(preorder[1:idx + 1], inorder[:idx])
root.right = self.buildTree(preorder[idx + 1:], inorder[idx + 1:])
return rootThe values must be unique. Otherwise knowing the root in preorder is not sufficient to find it in inorder.