我正在尝试获取Python二叉树中节点(对象)的列表。我正在寻找在节点对象上实现的递归函数,这样我就可以在根节点上调用该函数,并将其沿着子节点向下传递直到达到特定级别,然后它将以列表形式返回这些节点。
目前我的方法,我不确定这是否是正确或最佳的实现方式:
目前我的方法,我不确定这是否是正确或最佳的实现方式:
def get_level_nodes(self, nodes, level=1):
if self.level > level:
return nodes
if self.level == level:
nodes.append(self)
return nodes
for child in self.child_id:
nodes += child.get_level_nodes(node, level)
return nodes
# Getting the list
nodes_list = root_node.get_level_nodes([], 3)