我需要弄清楚二叉树中剩余子级的数量。有很多方法可以做到,但是我想知道为什么下面的代码不起作用。
def leftChildren(self):
leftChildren = []
if self != None:
leftChildren.append(self.v)
if self.l:
leftChildren = leftChildren + self.l.leftChildren()
if self.r:
self.r.leftChildren()
return leftChildren
哪里出了问题以及如何解决?
答案 0 :(得分:0)
我怀疑:
self.r返回合适的孩子
self.l返回剩下的孩子
所有孩子都是结点或树
self.v返回节点/叶子的值
因此,在查看您的代码时,我可以看到
这是一个快速草稿:
def getremainingChildren(self):
self.remainingChildren = []
self.remainingChildren.append(self.v)
if self.l:
self.remainingChildren += self.l.getremainingChildren()
if self.r:
self.remainingChildren += self.r.getremainingChildren()
return self.remainingChildren