指针法
ListNode* FindKthToTail(ListNode* head, unsigned int k) {
if(head == NULL || k<=0)
{
return NULL;
}
ListNode* p1 = head;
ListNode* p2 = head;
int n = k-1;
while(n > 0 && p1->next != NULL)
{
p1 = p1->next;
n--;
}
if(n > 0)//k>总长度
{
return NULL;
}
else if(p1->next == NULL)//k=总长度
{
return head;
}
//k<总长度
while(p1->next != NULL)
{
p1 = p1->next;
p2 = p2->next;
}
return p2;
}