AcWing 33. 链表中倒数第k个节点-java
原题链接
简单
作者:
jkm
,
2021-03-27 15:58:52
,
所有人可见
,
阅读 218
快慢遍历,设置一个工作结点先走k个单位,设置结果结点,当工作节点遍历到第k个节点后,结果节点开始遍历,直到工作节点遍历结束后,结果节点当前的位置即为需要的结点
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode findKthToTail(ListNode pListHead, int k) {
ListNode pre = pListHead,work = pListHead;
int count = 0;
while (work != null){
work = work.next;
if (count < k)
count++;
else
pre = pre.next;
}
if (count < k)
return null;
return pre;
}
}