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/)にご協力ください。その後も問題が残っている場合は、より具体的な質問に戻ってください。 –