Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 BST中的第k个最小元素_Python_Binary Search Tree_Binary Search - Fatal编程技术网

Python BST中的第k个最小元素

Python BST中的第k个最小元素,python,binary-search-tree,binary-search,Python,Binary Search Tree,Binary Search,我在尝试一个leetcode问题-。我认为我所写的解决方案是正确的,但它并没有通过所有的测试用例,我也无法找出哪里出了问题。以下是我的解决方案: class Solution(object): def kthSmallest(self, root, k, array=[]): """ :type root: TreeNode :type k: int :rtype: int &q

我在尝试一个leetcode问题-。我认为我所写的解决方案是正确的,但它并没有通过所有的测试用例,我也无法找出哪里出了问题。以下是我的解决方案:

class Solution(object):
    def kthSmallest(self, root, k, array=[]):
        """
        :type root: TreeNode
        :type k: int
        :rtype: int
        """
        if root.left:
            return self.kthSmallest(root.left, k, array)
        array.append(root.val)
        if len(array) == k:
            return array[-1]
        if root.right:
            return self.kthSmallest(root.right, k, array)
有人能告诉我我的代码出了什么问题吗

BST中的第k个最小元素

下面是一个解决问题的算法:

编写一个返回BST节点的助手方法。 在helper方法中,按顺序遍历BST节点,沿路径递减k。 当k达到1时,将当前BST节点返回到原始方法。 然后,原始方法应返回此节点内的值。
Geeks for Geeks有更多关于的信息。

使用列表文字作为默认参数数组=[]是一个常见的问题。定义函数时创建一次数组,然后在未显式传递数组的每个函数调用中使用相同的数组引用。可能与此有关。我不这么认为,因为我使用可视化编辑器运行了一些输入,并且工作正常。