问题描述:
查找单链表的倒数第k个节点,要求只能遍历一次链表
实现思路:
设置两个指向头结点的指针,让其中一个指针先走K步,然后让另一个指针同时一起走,找到倒数第K个结点;
具体代码实现:
pSListNode FindKNode(pSListNode pHead,int k)
{
pSListNode cur = pHead;
pSListNode tmp = pHead;
while (k--)
{
cur = cur->_next;
}
while (cur)
{
cur = cur->_next;
tmp = tmp->_next;
}
return tmp;
}