Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 944898d

Browse files
committedOct 6, 2024·
feat: add testcase of binary_tree_travarsal
1 parent fcf82a1 commit 944898d

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
 

‎searches/binary_tree_traversal.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ def pre_order(node: TreeNode) -> None:
5353
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
5454
>>> pre_order(root)
5555
1,2,4,5,3,6,7,
56+
>>> tree_node = TreeNode(42) # single node
57+
>>> pre_order(tree_node)
58+
42,
59+
>>> tree_node = None
60+
>>> pre_order(tree_node)
5661
"""
5762
if not isinstance(node, TreeNode) or not node:
5863
return
@@ -75,6 +80,8 @@ def in_order(node: TreeNode) -> None:
7580
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
7681
>>> in_order(root)
7782
4,2,5,1,6,3,7,
83+
>>> tree_node = None
84+
>>> in_order(tree_node)
7885
"""
7986
if not isinstance(node, TreeNode) or not node:
8087
return
@@ -97,6 +104,8 @@ def post_order(node: TreeNode) -> None:
97104
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
98105
>>> post_order(root)
99106
4,5,2,6,7,3,1,
107+
>>> tree_node = None
108+
>>> post_order(tree_node)
100109
"""
101110
if not isinstance(node, TreeNode) or not node:
102111
return
@@ -119,6 +128,8 @@ def level_order(node: TreeNode) -> None:
119128
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
120129
>>> level_order(root)
121130
1,2,3,4,5,6,7,
131+
>>> tree_node = None
132+
>>> level_order(tree_node)
122133
"""
123134
if not isinstance(node, TreeNode) or not node:
124135
return
@@ -149,6 +160,8 @@ def level_order_actual(node: TreeNode) -> None:
149160
1,
150161
2,3,
151162
4,5,6,7,
163+
>>> tree_node = None
164+
>>> level_order_actual(tree_node)
152165
"""
153166
if not isinstance(node, TreeNode) or not node:
154167
return
@@ -183,6 +196,8 @@ def pre_order_iter(node: TreeNode) -> None:
183196
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
184197
>>> pre_order_iter(root)
185198
1,2,4,5,3,6,7,
199+
>>> tree_node = None
200+
>>> pre_order_iter(tree_node)
186201
"""
187202
if not isinstance(node, TreeNode) or not node:
188203
return
@@ -213,6 +228,8 @@ def in_order_iter(node: TreeNode) -> None:
213228
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
214229
>>> in_order_iter(root)
215230
4,2,5,1,6,3,7,
231+
>>> tree_node = None
232+
>>> in_order_iter(tree_node)
216233
"""
217234
if not isinstance(node, TreeNode) or not node:
218235
return
@@ -241,6 +258,8 @@ def post_order_iter(node: TreeNode) -> None:
241258
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
242259
>>> post_order_iter(root)
243260
4,5,2,6,7,3,1,
261+
>>> tree_node = None
262+
>>> post_order_iter(tree_node)
244263
"""
245264
if not isinstance(node, TreeNode) or not node:
246265
return
@@ -259,6 +278,24 @@ def post_order_iter(node: TreeNode) -> None:
259278

260279

261280
def prompt(s: str = "", width=50, char="*") -> str:
281+
"""
282+
>>> prompt()
283+
'\\n**************************************************'
284+
>>> prompt("Test")
285+
'********************** Test **********************'
286+
>>> prompt("Short", 40)
287+
'**************** Short *****************'
288+
>>> prompt("Longer Example", 30)
289+
'******* Longer Example *******'
290+
>>> prompt("", 10)
291+
'\\n**********'
292+
>>> prompt("Edge Case", 15)
293+
'** Edge Case **'
294+
>>> prompt("Custom Char", 20, "#")
295+
'### Custom Char ####'
296+
>>> prompt("ExactFit", 20)
297+
'***** ExactFit *****'
298+
"""
262299
if not s:
263300
return "\n" + width * char
264301
left, extra = divmod(width - len(s) - 2, 2)

0 commit comments

Comments
 (0)
Please sign in to comment.