@@ -53,6 +53,11 @@ def pre_order(node: TreeNode) -> None:
53
53
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
54
54
>>> pre_order(root)
55
55
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)
56
61
"""
57
62
if not isinstance (node , TreeNode ) or not node :
58
63
return
@@ -75,6 +80,8 @@ def in_order(node: TreeNode) -> None:
75
80
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
76
81
>>> in_order(root)
77
82
4,2,5,1,6,3,7,
83
+ >>> tree_node = None
84
+ >>> in_order(tree_node)
78
85
"""
79
86
if not isinstance (node , TreeNode ) or not node :
80
87
return
@@ -97,6 +104,8 @@ def post_order(node: TreeNode) -> None:
97
104
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
98
105
>>> post_order(root)
99
106
4,5,2,6,7,3,1,
107
+ >>> tree_node = None
108
+ >>> post_order(tree_node)
100
109
"""
101
110
if not isinstance (node , TreeNode ) or not node :
102
111
return
@@ -119,6 +128,8 @@ def level_order(node: TreeNode) -> None:
119
128
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
120
129
>>> level_order(root)
121
130
1,2,3,4,5,6,7,
131
+ >>> tree_node = None
132
+ >>> level_order(tree_node)
122
133
"""
123
134
if not isinstance (node , TreeNode ) or not node :
124
135
return
@@ -149,6 +160,8 @@ def level_order_actual(node: TreeNode) -> None:
149
160
1,
150
161
2,3,
151
162
4,5,6,7,
163
+ >>> tree_node = None
164
+ >>> level_order_actual(tree_node)
152
165
"""
153
166
if not isinstance (node , TreeNode ) or not node :
154
167
return
@@ -183,6 +196,8 @@ def pre_order_iter(node: TreeNode) -> None:
183
196
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
184
197
>>> pre_order_iter(root)
185
198
1,2,4,5,3,6,7,
199
+ >>> tree_node = None
200
+ >>> pre_order_iter(tree_node)
186
201
"""
187
202
if not isinstance (node , TreeNode ) or not node :
188
203
return
@@ -213,6 +228,8 @@ def in_order_iter(node: TreeNode) -> None:
213
228
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
214
229
>>> in_order_iter(root)
215
230
4,2,5,1,6,3,7,
231
+ >>> tree_node = None
232
+ >>> in_order_iter(tree_node)
216
233
"""
217
234
if not isinstance (node , TreeNode ) or not node :
218
235
return
@@ -241,6 +258,8 @@ def post_order_iter(node: TreeNode) -> None:
241
258
>>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7
242
259
>>> post_order_iter(root)
243
260
4,5,2,6,7,3,1,
261
+ >>> tree_node = None
262
+ >>> post_order_iter(tree_node)
244
263
"""
245
264
if not isinstance (node , TreeNode ) or not node :
246
265
return
@@ -259,6 +278,24 @@ def post_order_iter(node: TreeNode) -> None:
259
278
260
279
261
280
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
+ """
262
299
if not s :
263
300
return "\n " + width * char
264
301
left , extra = divmod (width - len (s ) - 2 , 2 )
0 commit comments