@@ -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.
@@ -118,7 +118,7 @@ def level_order(root: Node | None) -> Generator[int, None, None]:
118
118
119
119
def get_nodes_from_left_to_right (
120
120
root : Node | None , level : int
121
- ) -> Generator [int , None , None ]:
121
+ ) -> Generator [int ]:
122
122
"""
123
123
Returns a list of nodes value from a particular level:
124
124
Left to right direction of the binary tree.
@@ -128,7 +128,7 @@ def get_nodes_from_left_to_right(
128
128
[2, 3]
129
129
"""
130
130
131
- def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
131
+ def populate_output (root : Node | None , level : int ) -> Generator [int ]:
132
132
if not root :
133
133
return
134
134
if level == 1 :
@@ -142,7 +142,7 @@ def populate_output(root: Node | None, level: int) -> Generator[int, None, None]
142
142
143
143
def get_nodes_from_right_to_left (
144
144
root : Node | None , level : int
145
- ) -> Generator [int , None , None ]:
145
+ ) -> Generator [int ]:
146
146
"""
147
147
Returns a list of nodes value from a particular level:
148
148
Right to left direction of the binary tree.
@@ -152,7 +152,7 @@ def get_nodes_from_right_to_left(
152
152
[3, 2]
153
153
"""
154
154
155
- def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
155
+ def populate_output (root : Node | None , level : int ) -> Generator [int ]:
156
156
if not root :
157
157
return
158
158
if level == 1 :
@@ -164,7 +164,7 @@ def populate_output(root: Node | None, level: int) -> Generator[int, None, None]
164
164
yield from populate_output (root , level )
165
165
166
166
167
- def zigzag (root : Node | None ) -> Generator [int , None , None ]:
167
+ def zigzag (root : Node | None ) -> Generator [int ]:
168
168
"""
169
169
ZigZag traverse:
170
170
Returns a list of nodes value from left to right and right to left, alternatively.
0 commit comments