leetcode---LCR 140.训练计划

给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第 cnt 个训练项目编号。

示例 1:

复制代码
输入:head = [2,4,7,8], cnt = 1
输出:8

提示:

  • 1 <= head.length <= 100
  • 0 <= head[i] <= 100
  • 1 <= cnt <= head.length

题解:

要返回倒数第cnt个节点,可以使用快慢指针。

先让fast指针先走cnt个结点,然后fast和slow一起走,直到fast为NULL时,停下来,此时slow指针指向的结点就是要返回的结点

举个例子:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* trainingPlan(struct ListNode* head, int cnt) {
    struct ListNode*fast=head;
    struct ListNode*slow=head;
    while(cnt--)//快指针先走k步
    {
        fast=fast->next;
    }
    while(fast!=NULL)
    {
        fast=fast->next;
        slow=slow->next;
    }
    return slow;
}
相关推荐
萌の鱼2 分钟前
leetcode 240. 搜索二维矩阵 II
数据结构·c++·算法·leetcode·矩阵
@心都18 分钟前
机器学习数学基础:37.统计学基础知识1
人工智能·算法·机器学习
奈葵32 分钟前
动态规划/贪心算法
算法·动态规划
轩源源32 分钟前
数据结构——哈希表的实现
开发语言·数据结构·c++·算法·哈希算法·散列表·哈希桶
wanjiazhongqi34 分钟前
常见的排序算法 【复习笔记】
笔记·算法·排序
火车叨位去194942 分钟前
拼电商客户管理系统
算法
lili-felicity1 小时前
深入理解指针与回调函数:从基础到实践
c语言·数据结构·算法
X_StarX1 小时前
计算机基础面试(数据结构)
数据结构·面试·职场和发展
倔强的石头1061 小时前
【C++经典例题】字符串特定规则反转问题的解法
算法·leetcode·职场和发展
waves浪游2 小时前
vector详解
c语言·开发语言·数据结构·c++·算法