@@ -50,12 +50,22 @@ def _build_tree_from_preorder(
5050 nums_left = in_root_index - in_start
5151
5252 root .left = _build_tree_from_preorder (
53- preorder , pre_start + 1 , pre_start + nums_left ,
54- inorder , in_start , in_root_index - 1 , in_map
53+ preorder ,
54+ pre_start + 1 ,
55+ pre_start + nums_left ,
56+ inorder ,
57+ in_start ,
58+ in_root_index - 1 ,
59+ in_map ,
5560 )
5661 root .right = _build_tree_from_preorder (
57- preorder , pre_start + nums_left + 1 , pre_end ,
58- inorder , in_root_index + 1 , in_end , in_map
62+ preorder ,
63+ pre_start + nums_left + 1 ,
64+ pre_end ,
65+ inorder ,
66+ in_root_index + 1 ,
67+ in_end ,
68+ in_map ,
5969 )
6070
6171 return root
@@ -64,7 +74,9 @@ def _build_tree_from_preorder(
6474def build_tree_from_preorder (inorder : list [int ], preorder : list [int ]) -> Node | None :
6575 """Build binary tree from preorder and inorder sequences."""
6676 in_map = {val : idx for idx , val in enumerate (inorder )}
67- return _build_tree_from_preorder (preorder , 0 , len (preorder ) - 1 , inorder , 0 , len (inorder ) - 1 , in_map )
77+ return _build_tree_from_preorder (
78+ preorder , 0 , len (preorder ) - 1 , inorder , 0 , len (inorder ) - 1 , in_map
79+ )
6880
6981
7082def _build_tree_from_postorder (
@@ -99,12 +111,22 @@ def _build_tree_from_postorder(
99111 nums_left = in_root_index - in_start
100112
101113 root .left = _build_tree_from_postorder (
102- postorder , post_start , post_start + nums_left - 1 ,
103- inorder , in_start , in_root_index - 1 , in_map
114+ postorder ,
115+ post_start ,
116+ post_start + nums_left - 1 ,
117+ inorder ,
118+ in_start ,
119+ in_root_index - 1 ,
120+ in_map ,
104121 )
105122 root .right = _build_tree_from_postorder (
106- postorder , post_start + nums_left , post_end - 1 ,
107- inorder , in_root_index + 1 , in_end , in_map
123+ postorder ,
124+ post_start + nums_left ,
125+ post_end - 1 ,
126+ inorder ,
127+ in_root_index + 1 ,
128+ in_end ,
129+ in_map ,
108130 )
109131
110132 return root
@@ -113,7 +135,9 @@ def _build_tree_from_postorder(
113135def build_tree_from_postorder (inorder : list [int ], postorder : list [int ]) -> Node | None :
114136 """Build binary tree from postorder and inorder sequences."""
115137 in_map = {val : idx for idx , val in enumerate (inorder )}
116- return _build_tree_from_postorder (postorder , 0 , len (postorder ) - 1 , inorder , 0 , len (inorder ) - 1 , in_map )
138+ return _build_tree_from_postorder (
139+ postorder , 0 , len (postorder ) - 1 , inorder , 0 , len (inorder ) - 1 , in_map
140+ )
117141
118142
119143# Optional example usage
0 commit comments