查找单链表的倒数第k个节点,要求只能遍历一次链表

问题描述:
查找单链表的倒数第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;
}

猜你喜欢

转载自blog.csdn.net/zl_8577/article/details/81052647