问题描述:
查找单链表的倒数第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;
}
本文介绍了一种高效查找单链表倒数第K个节点的方法,仅需遍历一次链表即可实现。通过设置两个指针,一个先走K步,之后两者同步移动直至前者到达链表尾部,此时后者即为所求节点。

被折叠的 条评论
为什么被折叠?



