快慢指针
快指针线遍历到第k-1个数,然后慢指针在从头开始遍历,这样快慢指针有k-1个间隔,当快指针到链表末尾时,慢指针指的数就是倒数第k个数。
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head==null||k==0){
return null;
}
ListNode pHead=head;
for(int i=0;i<k-1;i++){
if(pHead.next!=null){
pHead=pHead.next;
}
else{
return null;
}
}
ListNode pSlow=head;
while(pHead.next!=null){
pHead=pHead.next;
pSlow=pSlow.next;
}
return pSlow;
}
}