Skip to content

Commit ee149d6

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent dff30d0 commit ee149d6

File tree

1 file changed

+34
-10
lines changed

1 file changed

+34
-10
lines changed

data_structures/binary_tree/build_tree_from_traversal.py

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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(
6474
def 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

7082
def _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(
113135
def 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

Comments
 (0)