我尝试使用下面的代码来查找LinkedList
最后第k个元素。 它为什么总是返回null
?LinkedList的findElement
public Node findElem(Node head, int k){
if(k < 1|| k > this.length()){
System.out.println("error");
}
Node p1=head;
Node p2 = head;
for(int i=0;i<k-1;i++) {
p1 = p1.next;
}
while(p1 != null){
p1= p1.next;
p2 = p2.next;
}
return p2;
}
你从哪里得到这段代码?这仅仅因为多种原因是不正确的。你现在正在做的是在链表的末尾找到'null'并返回它,在任何情况下都找不到任何特定的元素。 –
欢迎来到堆栈溢出!它看起来像你需要学习使用调试器。请帮助一些[互补调试技术](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。如果您之后仍然遇到问题,请随时回答一个更具体的问题。 –