题目描述
输入一个链表,输出该链表中倒数第k个结点。
//第一次遍历记下链表长度,如果k>N,直接返回空,然后第二次遍历找到第N-k+1个即可
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
int N=0;
if(pListHead==NULL)return NULL;
else
{
ListNode* cur=pListHead;
while(cur!=NULL)
{
++N;
cur=cur->next;
}
if(k>N)return NULL;
int count=N-k,i(1);
cur=pListHead;
while(i<=count)
{
cur=cur->next;
++i;
}
return cur;
}
}