From e5efd5424a7faafd3a5506b288c825c9b6309aa7 Mon Sep 17 00:00:00 2001 From: bt3gl <138340846+bt3gl-cryptographer@users.noreply.github.com> Date: Tue, 8 Aug 2023 14:43:04 -0700 Subject: [PATCH] Update bt_construct_inorder_preorder.py --- trees/bt_construct_inorder_preorder.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/trees/bt_construct_inorder_preorder.py b/trees/bt_construct_inorder_preorder.py index 2f1518d..6aca6cf 100644 --- a/trees/bt_construct_inorder_preorder.py +++ b/trees/bt_construct_inorder_preorder.py @@ -2,24 +2,24 @@ # -*- coding: utf-8 -*- # author: bt3gl -def build_tree(preorder: list[int], inorder: list[int]) -> Optional[Node]: + +def build_tree(preorder, inorder) -> Optional[Node]: - def helper(i_left, i_right, index_map): + def helper(left, right, index_map): - if i_left > i_right: + if left > right: return None - root = TreeNode(preorder.pop(0)) + root = Node(preorder.pop(0)) index_here = index_map[root.val] # this order change from postorder - root.left = helper(i_left, index_here - 1, index_map) - root.right = helper(index_here + 1, i_right, index_map) + root.left = helper(left, index_here - 1, index_map) + root.right = helper(index_here + 1, right, index_map) return root - - index_map = {value: index for index, value in enumerate(inorder)} + index_map = {value: i for i, value in enumerate(inorder)} return helper(0, len(inorder) - 1, index_map)