0
私はコーディングインタビューの本を読んでいた。リンクされたリストのトピックをカバーしながら、私は質問2で立ち往生しました。私は再帰的でないバージョンを考え出すことができました。しかし、私が本の解決策を検討しようとしている間、私は解決策を理解できませんでした。誰かがそれで私を助けることができるかどうか疑問に思っていましたか? コーディングインタビューのクラッキングリンクリストQ2
public static int nthToLast(SListNode head, int k){
if(head == null){
return 0;
}
int i = nthToLast(head.next, k) +1;
System.out.println("Node data is: " + head.item);
System.out.println("i is: " +i);
System.out.println("k is: " + k);
if(i<=k){
System.out.println(head.item);
}
return i;
}
だから、このコードでは、私は私をint = nthToLast(head.next、k)は、コードの1行を確認していることを信じて最後のノードへのヘッドポインタを指します。しかし、私は最初のノードから最後のノードへのポインタの変更の背後にあるこのメカニズムを理解することはできません。誰も私がこのコード行を理解するのを助けて、リンクリストの最初のノードから最初のノードにポインタを変更する方法はありますか?
ありがとう!それは理にかなっている! :) – user3293890
あなたの歓迎!答えがあなたのコンテンツの場合は、答えをマークしてください:) –