image.png
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode getKthFromEnd(ListNode head, int k) {
// 定义双指针
ListNode former = head;
ListNode latest = head;
// 先让指针一走k步
for(int i = 0;i < k;i++){
former = former.next;
}
// 指针一和指针二保持距离后让两个指针共同前进,直到指针二指为空时,就退出循环
while(former != null){
former = former.next;
latest = latest.next;
}
return latest;
}
}