题目思路:
利用快慢指针来求解。
class Solution {
public:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
ListNode* p1 = pListHead;
ListNode* p2 = pListHead;
int temp = k;
if(pListHead == NULL || k <= 0)
{
return NULL;
}
temp--;
while(temp--)
{
/* 链表的长度小于k */
p2 = p2->next;
if(p2 == NULL)
{
return NULL;
}
}
while(p2->next != NULL)
{
p1 = p1->next;
p2 = p2->next;
}
return p1;
}
};