在Python中提取树的根节点

0 投票
1 回答
3600 浏览
提问于 2025-04-16 18:31

大家好,
我一直在寻找一个可以在Python中提取树的根节点的内置函数,但我没有找到类似的东西。我尝试自己写一个,但没办法做出一个通用的,能够满足我所有需求的函数。
有没有人有现成的解决方案,或者知道怎么从Python的树结构中提取这个信息?

谢谢!

1 个回答

3

你需要自己动手实现:

class Node(object):
    def __init__(self, p=None):
        self.parent = p
        self.children = []

n1 = Node()
n2 = Node()
n1.children.append(n2)
n2.parent = n1

当然,你会希望有一些方法,比如 addChild,可以自动管理相关对象的 .children.parent 属性。

然后你可以写一个方法

def findRoot(node):
    p = node
    while p.parent != None:
        p = p.parent
    return p

撰写回答