![]()
1 import java.util.*;
2
3 /*
4 * public class ListNode {
5 * int val;
6 * ListNode next = null;
7 * public ListNode(int val) {
8 * this.val = val;
9 * }
10 * }
11 */
12
13 public class Solution {
14 /**
15 * @param pHead ListNode类
16 * @param k int整型
17 * @return ListNode类
18 */
19 public ListNode FindKthToTail (ListNode pHead, int k) {
20 // 快指针
21 ListNode fast = pHead;
22 // 慢指针
23 ListNode slow = pHead;
24 // 寻找快指针的起始位置
25 for (int i = 0; i < k; i ++) {
26 if (fast == null) {
27 return null;
28 }
29 fast = fast.next;
30 }
31 // 快慢指针同时移动
32 while (fast != null) {
33 fast = fast.next;
34 slow = slow.next;
35 }
36 // 返回结果
37 return slow;
38 }
39 }