题目链接
解题思路
-
王道考研数据结构里面说过这种双指针工作法
-
初始时,两个指针
p
和q
均指向head
-
先将辅助指针
q
向后移动k
次。此时p
和q
的距离为k
-
然后同时移动
p
和q
,直到q
到null
。此使p.val
即为答案。如下图所示
AC代码
class Solution {
public int kthToLast(ListNode head, int k) {
ListNode p = head;//工作指针
ListNode q = head;//辅助指针
for (int i = 0; i < k; i++) {
q = q.next;
}
while (q != null) {
p = p.next;
q = q.next;
}
return p.val;
}
}