28 lines
737 B
Python
28 lines
737 B
Python
class Node:
|
|
def __init__(self, value: int, children=None):
|
|
self.value = value
|
|
self.children = children
|
|
|
|
|
|
nodes1 = Node(1, [Node(2, [Node(4), Node(5)]), Node(3, [Node(6), Node(7)])])
|
|
|
|
nodes2 = Node(1, [Node(2, [Node(4), Node(5), Node(10, [Node(19), Node(39), Node(27)])]), Node(3, [Node(6), Node(7)])])
|
|
|
|
|
|
def iter_tree(node: Node):
|
|
res = [node.value]
|
|
|
|
def recursive(nodes: list[Node], temp_res: list[int]):
|
|
temp = []
|
|
for _node in nodes:
|
|
temp_res.append(_node.value)
|
|
if _node.children:
|
|
temp.extend(_node.children)
|
|
if len(temp) > 0:
|
|
recursive(temp, temp_res)
|
|
|
|
if node.children:
|
|
recursive(node.children, res)
|
|
|
|
return res
|