例如,我进行下面定义的递归调用。该方法从最后一个元素中查找第 k 个元素。如果找到,它将当前节点分配给我传递给递归调用的对象。由于某种原因,节点 kth 为空。你不能这样做吗?为什么?
public void findKthFromLast(Node head, int k){
Node kth;
recrusiveHelper(head, k, kth);
System.out.println(kth.data); //this is null
}
public int recursiveHelper(Node n, int k, Node kthFromLast){
(if n == null){
return 0;
}
val = 1 + recursiveHelper(n.next, k, kthFromlast);
if(k == val){
kthFromLast = n;
}
return val;
}