@@ -30,7 +30,7 @@ def make_tree() -> Node | None:
30
30
return tree
31
31
32
32
33
- def preorder (root : Node | None ) -> Generator [int , None , None ]:
33
+ def preorder (root : Node | None ) -> Generator [int ]:
34
34
"""
35
35
Pre-order traversal visits root node, left subtree, right subtree.
36
36
>>> list(preorder(make_tree()))
@@ -43,7 +43,7 @@ def preorder(root: Node | None) -> Generator[int, None, None]:
43
43
yield from preorder (root .right )
44
44
45
45
46
- def postorder (root : Node | None ) -> Generator [int , None , None ]:
46
+ def postorder (root : Node | None ) -> Generator [int ]:
47
47
"""
48
48
Post-order traversal visits left subtree, right subtree, root node.
49
49
>>> list(postorder(make_tree()))
@@ -56,7 +56,7 @@ def postorder(root: Node | None) -> Generator[int, None, None]:
56
56
yield root .data
57
57
58
58
59
- def inorder (root : Node | None ) -> Generator [int , None , None ]:
59
+ def inorder (root : Node | None ) -> Generator [int ]:
60
60
"""
61
61
In-order traversal visits left subtree, root node, right subtree.
62
62
>>> list(inorder(make_tree()))
@@ -69,7 +69,7 @@ def inorder(root: Node | None) -> Generator[int, None, None]:
69
69
yield from inorder (root .right )
70
70
71
71
72
- def reverse_inorder (root : Node | None ) -> Generator [int , None , None ]:
72
+ def reverse_inorder (root : Node | None ) -> Generator [int ]:
73
73
"""
74
74
Reverse in-order traversal visits right subtree, root node, left subtree.
75
75
>>> list(reverse_inorder(make_tree()))
@@ -93,7 +93,7 @@ def height(root: Node | None) -> int:
93
93
return (max (height (root .left ), height (root .right )) + 1 ) if root else 0
94
94
95
95
96
- def level_order (root : Node | None ) -> Generator [int , None , None ]:
96
+ def level_order (root : Node | None ) -> Generator [int ]:
97
97
"""
98
98
Returns a list of nodes value from a whole binary tree in Level Order Traverse.
99
99
Level Order traverse: Visit nodes of the tree level-by-level.
@@ -116,9 +116,7 @@ def level_order(root: Node | None) -> Generator[int, None, None]:
116
116
process_queue .append (node .right )
117
117
118
118
119
- def get_nodes_from_left_to_right (
120
- root : Node | None , level : int
121
- ) -> Generator [int , None , None ]:
119
+ def get_nodes_from_left_to_right (root : Node | None , level : int ) -> Generator [int ]:
122
120
"""
123
121
Returns a list of nodes value from a particular level:
124
122
Left to right direction of the binary tree.
@@ -128,7 +126,7 @@ def get_nodes_from_left_to_right(
128
126
[2, 3]
129
127
"""
130
128
131
- def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
129
+ def populate_output (root : Node | None , level : int ) -> Generator [int ]:
132
130
if not root :
133
131
return
134
132
if level == 1 :
@@ -140,9 +138,7 @@ def populate_output(root: Node | None, level: int) -> Generator[int, None, None]
140
138
yield from populate_output (root , level )
141
139
142
140
143
- def get_nodes_from_right_to_left (
144
- root : Node | None , level : int
145
- ) -> Generator [int , None , None ]:
141
+ def get_nodes_from_right_to_left (root : Node | None , level : int ) -> Generator [int ]:
146
142
"""
147
143
Returns a list of nodes value from a particular level:
148
144
Right to left direction of the binary tree.
@@ -152,7 +148,7 @@ def get_nodes_from_right_to_left(
152
148
[3, 2]
153
149
"""
154
150
155
- def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
151
+ def populate_output (root : Node | None , level : int ) -> Generator [int ]:
156
152
if not root :
157
153
return
158
154
if level == 1 :
@@ -164,7 +160,7 @@ def populate_output(root: Node | None, level: int) -> Generator[int, None, None]
164
160
yield from populate_output (root , level )
165
161
166
162
167
- def zigzag (root : Node | None ) -> Generator [int , None , None ]:
163
+ def zigzag (root : Node | None ) -> Generator [int ]:
168
164
"""
169
165
ZigZag traverse:
170
166
Returns a list of nodes value from left to right and right to left, alternatively.
0 commit comments