@@ -97,6 +97,8 @@ def level_order(root: Node | None) -> Generator[int, None, None]:
9797 """
9898 Returns a list of nodes value from a whole binary tree in Level Order Traverse.
9999 Level Order traverse: Visit nodes of the tree level-by-level.
100+ >>> list(level_order(make_tree()))
101+ [1, 2, 3, 4, 5]
100102 """
101103
102104 if root is None :
@@ -120,6 +122,10 @@ def get_nodes_from_left_to_right(
120122 """
121123 Returns a list of nodes value from a particular level:
122124 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]
123129 """
124130
125131 def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
@@ -140,10 +146,14 @@ def get_nodes_from_right_to_left(
140146 """
141147 Returns a list of nodes value from a particular level:
142148 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]
143153 """
144154
145155 def populate_output (root : Node | None , level : int ) -> Generator [int , None , None ]:
146- if root is None :
156+ if not root :
147157 return
148158 if level == 1 :
149159 yield root .data
@@ -158,6 +168,8 @@ def zigzag(root: Node | None) -> Generator[int, None, None]:
158168 """
159169 ZigZag traverse:
160170 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]
161173 """
162174 if root is None :
163175 return
0 commit comments