在"def same_child_values"中.我试图比较两个树,看看另一棵树是否具有与主tree.children相同的值节点.在这种情况下,我使用一组来比较它们.但是在我的代码中,当树深度大于1时,我的代码无法正确地将节点添加到集合中.谁能帮我?
class Tree:
'''Tree ADT; nodes may have any number of children'''
def __init__(self: 'Tree',
item: object =None, children: list =None):
'''Create a node with item and any number of children'''
self.item = item
if not children:
self.children = []
else:
self.children = children[:]
def __repr__(self: 'Tree') -> str:
'''Return representation of Tree as a string'''
if self.children:
return 'Tree({0}, {1})'.format(repr(self.item), repr(self.children))
else:
return 'Tree({})'.format(repr(self.item))
def is_leaf(self: 'Tree') -> bool:
'''Return True iff this Tree node is a leaf …Run Code Online (Sandbox Code Playgroud)