<span style="font-size:18px;">
/* 找出单链表中倒数第K个数 */
/* 查找过程中,设置两个指针,让其中一个指针比另一个指针先前移动 K-1 步 ,然后两个指针同时移动,循环直到先行指针为NULL */
template<typename T>
struct LinkedList
{
T data;
LinkedList *next;
};
template<typename T>
LinkedList<T>* FindElem(LinkedList<T>* head, int k)
{
LinkedList<T> *ptr1, *ptr2;
ptr1 = ptr2 = head;
for (int i=0; i<k; ++i) //前移K步
{
ptr1 = ptr1->next;
}
while (ptr1 != NULL)
{
ptr1 = ptr1->next;
ptr2 = ptr2->next;
}
return ptr2;
};
</span>