我试图在 BST 中找到第 k 个最小的。
public void findKthSmallest(BSTNode<T> node, int k) {
if(node == null)
return;
findKthSmallest(node.left, k);
count++;
if (k == count) {
System.out.println("Kth smallest: " + node.data);
return;
}
findKthSmallest(node.right, k);
}
这里 count 是一个实例变量。我无法弄清楚如何在函数中使用 count 作为参数(局部变量)来实现它,因为它会在函数返回时重置。
任何想法??