Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 最近的叶节点解决方案未返回_Python_Python 3.x_Algorithm_Data Structures - Fatal编程技术网

Python 最近的叶节点解决方案未返回

Python 最近的叶节点解决方案未返回,python,python-3.x,algorithm,data-structures,Python,Python 3.x,Algorithm,Data Structures,我想打印距离二叉树中特定节点最近的叶节点。我在定义的函数中得到了正确答案,但无法返回该答案。 链接到问题:您试图通过引用传递“最近的”,但Python中的参数是通过赋值传递的 您有(为简洁起见删去了几行): 当您传递最接近minimumDistanceHelper时,由于最接近是一个不可变的整数,因此minimumDistanceHelper中的最接近参数不会引用与minimumDistance函数中声明的最接近对象相同的对象。因此,minimumDistance的返回值始终为root.key

我想打印距离二叉树中特定节点最近的叶节点。我在定义的函数中得到了正确答案,但无法返回该答案。 链接到问题:

您试图通过引用传递“最近的”,但Python中的参数是通过赋值传递的

您有(为简洁起见删去了几行):

当您传递最接近minimumDistanceHelper时,由于最接近是一个不可变的整数,因此minimumDistanceHelper中的最接近参数不会引用与minimumDistance函数中声明的最接近对象相同的对象。因此,minimumDistance的返回值始终为root.key

有两种方法可以解决这个问题。更好的方法是返回“从minimumDistanceHelper最近”的值。minimumDistanceHelper的结尾将类似于

def minimumDistanceHelper(root, node, closest):
    closest = root.key
    print("closest:", closest)

def minimumDistance(root, node):
    closest = root.key
    minimumDistanceHelper(root, node, closest)
    return closest
然后在minimumDistanceHelper中使用

closest = [root.key]
但请注意,这是如何写入最近的第0个索引的,而不是最近的索引本身。如果你要用

closest[0] = root.key

我们也会遇到同样的问题,最接近的新版本将不是原始版本。

预期输出是什么?当前,您的代码返回me12的
10
。您的程序输出多个数字。预期的输出是什么?错误,否。参数是通过引用传递的,而不是通过值传递的。但是,对变量的赋值对引用的对象没有任何作用。强制性链接是“通过引用传递”对我来说的意思,但对这些术语的含义存在分歧。
closest = [root.key]
closest[0] = root.key
closest = [root.key]