所以我写了一个代码,它应该在树中获取给定节点的父节点。这是伪代码。从根源出发,
def parent(self, child):
if right child exists:
if the right child == child:
return self
else: self.right.parent(child)
if left child exists:
if the left child == child:
print('f')
return self
else: self.left._get_parent(node)
我一遍又一遍地遇到这个问题。对于if the left child == child:
语句,如果函数if
找到the left child == child
或,则进入该语句the right child == child
。
但是,return 语句不执行此操作。我知道这一点,因为当我在它之后写if the left child == child:
和写print('f')
时,它确实 print f
,但是,它没有 return self
。有谁知道为什么,任何人都可以就如何解决这个问题给出解决方案?
此外,有谁知道如何一次返回两个语句而不是元组或列表?例如,如果我想返回 1 和 2,
def x(n):
return 1, 2
这将返回(1, 2)
.. 有没有办法不将其作为元组返回?只是为了正常返回。我问这个是因为在递归方面,我想在 1 AS WELL AS 2 上调用相同的函数,而不是在 tuple 上(1, 2)
。