@@ -97,6 +97,8 @@ def level_order(root: Node | None) -> Generator[int, None, None]:
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.
100
+ >>> list(level_order(make_tree()))
101
+ [1, 2, 3, 4, 5]
100
102
"""
101
103
102
104
if root is None :
@@ -120,6 +122,10 @@ def get_nodes_from_left_to_right(
120
122
"""
121
123
Returns a list of nodes value from a particular level:
122
124
Left to right direction of the binary tree.
125
+ >>> list(get_nodes_from_left_to_right(make_tree(), 1))
126
+ [1]
127
+ >>> list(get_nodes_from_left_to_right(make_tree(), 2))
128
+ [2, 3]
123
129
"""
124
130
125
131
def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
@@ -140,10 +146,14 @@ def get_nodes_from_right_to_left(
140
146
"""
141
147
Returns a list of nodes value from a particular level:
142
148
Right to left direction of the binary tree.
149
+ >>> list(get_nodes_from_right_to_left(make_tree(), 1))
150
+ [1]
151
+ >>> list(get_nodes_from_right_to_left(make_tree(), 2))
152
+ [3, 2]
143
153
"""
144
154
145
155
def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
146
- if root is None :
156
+ if not root :
147
157
return
148
158
if level == 1 :
149
159
yield root .data
@@ -158,6 +168,8 @@ def zigzag(root: Node | None) -> Generator[int, None, None]:
158
168
"""
159
169
ZigZag traverse:
160
170
Returns a list of nodes value from left to right and right to left, alternatively.
171
+ >>> list(zigzag(make_tree()))
172
+ [1, 3, 2, 4, 5]
161
173
"""
162
174
if root is None :
163
175
return
0 commit comments