Я хочу найти k-й наименьший элемент.И, не ища дополнительного места.
Я написал это, но не получил фактический вывод
/**
* Definition for binary tree
* class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) {
* val = x;
* left=null;
* right=null;
* }
* }
*/
public class Solution {
public int kthsmallest(TreeNode A, int B) {
int find=kth(A,B,-1);
System.out.println(find);
return find;
}
public static int kth(TreeNode A,int B,int val)
{
// System.out.print("k "+k);
if(val!=-1)
return val;
if(A==null)
{
return -1;
}
kth(A.left,B,val);
B--;
if(0==B)
{
val=A.val;
//System.out.print("bbbb"+val);
return A.val;
}
//System.out.print(" :k lv: "+k);
kth(A.right,B,val);
if(0==B)
{
val=A.val;
//System.out.print("xdf"+val);
return A.val;
}
return val;
}
}