牛客TOP101:链表中倒数最后k个结点

1. 题目描述

在这里插入图片描述

2. 解题思路

  求的是倒数第k个结点,我们可以先让一个快指针走k步,慢指针指定头节点,这样快慢指针之差就是倒数第k个结点到空节点的距离,因此只要快指针走到空,那么慢指针指向的就是倒数第k个结点。

3. 代码实现

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param pHead ListNode类 
     * @param k int整型 
     * @return ListNode类
     */
    ListNode* FindKthToTail(ListNode* head, int k) {
        if(head == nullptr) return head;
        ListNode *fast = head, *slow = head;
        while(k--)
        {
            if(fast == nullptr) return nullptr;
            fast = fast->next;
        }

        while(fast != nullptr)
        {
            fast = fast->next;
            slow = slow->next;
        }
        return slow;
    }
};

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 00:14:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 00:14:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 00:14:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 00:14:02       55 阅读

热门阅读

  1. QtService实现后台服务linux,windows

    2024-07-20 00:14:02       16 阅读
  2. wpf 启动文件的设置

    2024-07-20 00:14:02       15 阅读
  3. WPF中MVVM常用的框架

    2024-07-20 00:14:02       16 阅读
  4. 代码随想录算法训练营第三十四天

    2024-07-20 00:14:02       17 阅读
  5. ES6 数值的扩展(十八)

    2024-07-20 00:14:02       12 阅读
  6. 从零开始学习嵌入式----数据结构之链表

    2024-07-20 00:14:02       19 阅读
  7. Nestjs后台服务

    2024-07-20 00:14:02       16 阅读
  8. 昇思MindSpore 应用学习-ResNet50迁移学习-CSDN

    2024-07-20 00:14:02       18 阅读