问题是您调用
self.inorder(node.left),但不对结果做任何事情,结果,代码仅被执行(延迟执行得很好,这意味着未执行),并且运行时环境继续到下一行。
您需要通过传播(即 重新生成 )由以下调用生成的元素来解决该问题
inorder:
def inorder(self, node): if node is None: return if node.left is not None: for x in self.inorder(node.left) : # you need to *re-yield* the elements of the left and right child yield x yield node if node.right is not None: for x in self.inorder(node.right) : yield x
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)