18 lines
581 B
Plaintext
18 lines
581 B
Plaintext
T Node
|
||
String value
|
||
Node? left
|
||
Node? right
|
||
|
||
F (value, Node? left = N, Node? right = N)
|
||
.value = String(value)
|
||
.left = left
|
||
.right = right
|
||
|
||
F tree_indent() -> [String]
|
||
V tr = I .right != N {.right.tree_indent()} E [‘-- (null)’]
|
||
R [‘--’(.value)] [+] (I .left != N {.left.tree_indent()} E [‘-- (null)’]).map(a -> ‘ |’a)
|
||
[+] [‘ `’tr[0]] + tr[1..].map(a -> ‘ ’a)
|
||
|
||
V tree = Node(1, Node(2, Node(4, Node(7)), Node(5)), Node(3, Node(6, Node(8), Node(9))))
|
||
print(tree.tree_indent().join("\n"))
|