使用反转链表,然后循环就行。
/*
* 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) {
if(pListHead==null)
return null;
ListNode pre=null;
ListNode node=pListHead;
ListNode next=null;
int count=1;
while(node.next!=null){
next=node.next;
node.next=pre;
pre=node;
node=next;
count;
}
node.next=pre;
if(k>count||count<=0)
return null;
k=k-1;
for(int i=0;i<k;i){
node=node.next;
}
return node;
}
}