我正在尝试使用leetcode问题link来查找二叉搜索树中的第k个最小元素。我认为我写的解决方案是正确的,但不知何故它没有通过所有测试用例,我无法弄清楚我哪里出错了。以下是我的解决方案:
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)
有人能告诉我我的代码有什么问题吗?
答案 0 :(得分:0)
BST 中第 K 个最小的元素
这是解决问题的算法:
Geeks for Geeks 提供有关 The Kth Smallest Element in a BST problem 的更多信息。