Construct Binary Search Tree from Preorder Traversal LeetCode solution in Python
1class Solution:2def bstFromPreorder(self, preorder: List[int]) -> Optional[TreeNode]:3if not preorder:4return None5node = preorder.pop(0)6root = TreeNode(node)7l = []8r = []910for val in preorder:11if val < node:12l.append(val)13else:14r.append(val)1516root.left = self.bstFromPreorder(l)17root.right = self.bstFromPreorder(r)18return root