当前位置: 首页 > article >正文

力扣--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

思路

先判断头节点是否是空
if(head == null){
return null;
}
再定义快慢指针指向头节点
ListNode fast = head, slow = head;
再用for循环让fast快指针先走K步
同样判断快指针是否走到头
for(int i = 0; i < k; i++){
if(fast == null){
return null;
}
fast = fast.next;
}
再让慢指针和快指针一起走到目标值位置
while(fast != null){
fast = fast.next;
slow = slow.next;
}

代码

/**

  • Definition for singly-linked list.
  • public class ListNode {
  • int val;
    
  • ListNode next;
    
  • ListNode() {}
    
  • ListNode(int val) { this.val = val; }
    
  • ListNode(int val, ListNode next) { this.val = val; this.next = next; }
    
  • }
    */
    class Solution {
    public ListNode trainingPlan(ListNode head, int cnt) {
    if(head null){
    return null;
    }
    ListNode fast = head, slow = head;
    for(int i=0; i<cnt; i++){
    if(fast
    null){
    return null;
    }
    fast = fast.next;
    }
    while(fast!=null){
    fast =fast.next;
    slow = slow.next;
    }
    return slow;
    }
    }
    时间复杂度:O(n)
    空间复杂度:O(1)

http://www.kler.cn/a/403058.html

相关文章:

  • centos 服务器 docker 使用代理
  • 快速图像识别:落叶植物叶片分类
  • 浅析解析 3D NMS 算法及实现
  • 汽车被追尾了怎么办?
  • 医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
  • 网络安全的学习方向和路线是怎么样的?
  • 鸿蒙NEXT开发案例:随机密码生成
  • 【Bug合集】——Java大小写引起传参失败,获取值为null的解决方案
  • 定长滑动窗口(LeetCode——1423.可获得的最大点数)
  • layui 输入框带清空图标和分词搜索功能
  • 人工智能之机器学习2-有监督学习【培训机构学习笔记】
  • ros2 humble 安装 navigation2
  • 用pyspark把kafka主题数据经过etl导入另一个主题中的有关报错
  • 基于yolov8、yolov5的玉米病害检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • OpenCV自学系列(2)——核心操作(core operations)
  • 07架构面试题
  • 概率论之常见分布与matlab绘图
  • 如何更改手机GPS定位
  • 机器学习 AdaBoost 算法
  • 使用Python推送FLV流
  • 《Vue零基础教程》(1)Vue简介
  • C# AutoMapper 10个常用方法总结
  • Spring Boot 项目 myblog 整理
  • 智能购物时代:AI在电商平台的革命性应用
  • 针对AI增强图像大规模鲁棒性测试的数据集
  • 15分钟学 Go 实战项目六 :统计分析工具项目(30000字完整例子)