JAVAはチェーンテーブルの最後からK番目のノード問題を実現する(『剣指offer』)


タイトルの説明
チェーンテーブルを入力し、チェーンテーブルの最後からk番目のノードを出力します.
問題解決の考え方:
2つのポインタは、まず1番目のポインタと2番目のポインタをヘッダノードに向け、その後、1番目のポインタを(k-1)ステップ正走させ、k番目のノードに到達させる.その後、2つのポインタが同時に後方に移動し、1番目のノードが末尾に達すると、2番目のノードの位置は最後からk番目のノードになります.
回答:
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
           if(head==null||k<=0){
            return null;
        }
       
        ListNode last=head;       
        for(int i=1;i<k;i++){
            if(head.next!=null){
                head=head.next;
            }else{
                return null;
            }
        }
        while(head.next!=null){
            head = head.next;
            last=last.next;
        }
        return last;
        
    }
}