剑指offer面试题15:倒数第k个结点
面试题15:倒数第k个结点。(链表不带头结点)。设置两个指针,一个从头结点开始,走k-1步时另外一个从头开始与该指针同步知道第一个指针到达末尾。
ListNode * FindKthToTail(ListNode *pListHead,unsigned int k)
{
if(pListHead==NULL||k==0)
{
return NULL;
}
ListNode *pAhead=pListHead;
ListNode *pBehind=NULL;
for(int i=0;i<k-1;i++)
{
if(pAhead->next!=NULL)
{
pAhead=pAhead->next;
}
else return NULL;
}
pBehind=pListHead;
while(pAhead->next!=NULL)
{
pAhead=pAhead->next;
pBehind=pBehind->next;
}
return pBehind;
}
浙公网安备 33010602011771号