力扣61. 旋转链表(java)

在这里插入图片描述

在这里插入图片描述
思路:用快慢指针找到最后链表k个需要移动的节点,然后中间断开节点,原尾节点连接原头节点,返回新的节点即可;
但因为k可能比节点数大,所以需要先统计节点个数,再取模,看看k到底需要移动多少个;


class Solution {
    public ListNode rotateRight(ListNode head, int k) {
    //只有0或1个节点,直接返回原链表
        if(head == null || head.next == null) return head;

        ListNode fast = head;
        ListNode slow = head;
		//统计链表有多少个节点,因为k可能会超过节点数,所以需要取模计算;
        ListNode t = head;
        int size = 1; //节点数
        while(t.next!=null) {
            t = t.next;
            size++;
        }
        if(k%size == 0) return head; //如果k能整除,则不用移动,直接返回
         k = k%size; //k取 取模后的结果

		//双指针,slow和fast中间间隔k个节点
        while(fast.next!=null && k-- > 0) {
            fast = fast.next;
        }
        while(fast.next!=null) {
            fast = fast.next;
            slow = slow.next;
        }
        
        ListNode newHead = slow.next;//然后记录下新的头节点
        slow.next = null;//中间断开
        fast.next = head;//原尾节点和头节点连接
        return newHead;//返回新的头节点

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/773364.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)

目录 概述: 1. 阻塞IO (Blocking IO) 2. 非阻塞IO (Non-blocking IO) 3. IO多路复用 (I/O Multiplexing) 4. 信号驱动IO (Signal-driven IO) 阻塞式IO 非阻塞式IO 信号驱动IO(Signal-driven IO) 信号IO实例: IO多路复用…

2024企业加密软件丨为什么企业需要防泄密

企业为什么需要防泄密? 企业的数据中包含了许多核心机密,如研发成果、商业计划、客户资料等。这些信息的泄露可能使竞争对手获得不正当的优势,给企业带来严重损失。 数据泄露事件往往会对企业的声誉造成负面影响,降低客户信任度…

【ROS2】Ubuntu 24.04 源码编译安装 Jazzy Jalisco

目录 系统要求 系统设置 设置区域启用所需的存储库安装开发工具 构建 ROS 2 获取 ROS 2 代码使用 rosdep 安装依赖项安装额外的 RMW 实现(可选)在工作区构建代码 设置环境 尝试一些例子 下一步 备用编译器 Clang保持最新状态 故障排除 卸载 系统要求 当前…

RRStudio 下载及安装(详尽版)

R语言来自S语言,是S语言的一个变种。S语言、C语言、Unix系统都是贝尔实验室的研究成果。R 语言是一种解释型的面向数学理论研究工作者的语言,主要用于统计分析、绘图、数据挖掘。 R 语言自由软件,免费、开放源代码,支持各个主要计…

python实现windows非白名单exe监控并杀死

目录 一、限定死白名单 二、增加自定义白名单文件 需求:孩子在家用电脑上网课,总是悄悄打开游戏或视频软件 方案:指定白名单exe,打开非白名单的就自动被杀死,并记录日志供查看 一、限定死白名单 import psutil imp…

【C语言】continue 关键字

当在C语言中使用continue关键字时,它用于控制循环语句的执行流程。与break不同,continue不会终止整个循环,而是终止当前迭代,并立即开始下一次迭代。这种行为使得可以在循环内部根据特定条件跳过某些代码块,从而控制程…

中国国家标准介绍

一、介绍 中国国家标准信息公共服务平台,这是由中国国家市场监督管理总局和中国国家标准化管理委员会共同运营的官方网站 https://openstd.samr.gov.cn/ 标准分为三类: GB:强制性国家标准GB/T:推荐行国家标准GB/Z:指导…

LT86101UXE 国产原装 HDMI2.0 / DVI中继器方案 分辨率 4Kx2K 用于多显示器 DVI/HDMI电缆扩展模块

1. 描述 Lontium LT86101UXE HDMI2.0 / DVI中继器特性高速中继器符合HDMI2.0/1.4规范,最大6 gbps高速数据率、自适应均衡RX输入和pre-emphasized TX输出支持长电缆应用程序,没有晶体在船上保存BOM成本,内部灵活的PCB TX巷交换路由。 LT86101UXE HDMI2.0/DVI中继器自动检测线缆损…

傅里叶变换

傅里叶定理指出: 任何信号都可以表示成(或者无限逼近)一系列正弦信号的叠加。在一维领域,信号是一维正弦波的叠加,那么想象一下,在二维领域,实际上是无数二维平面波的叠加,$(x&…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(九)-git(1)

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。 文章目录 前言 一、git是什么 二、git基本概念 三、git基本命令 总结…

Vue3中为Ant Design Vue中Modal.confirm自定义内容

在一次业务开发时代码时,碰到了一种既想要Modal.confirm样式,又想要定制其content内容的情况。 大部分情况下,使用Modal.method()这种方式时,可能content内容固定都是字符串,那如果想要做更高级的交互怎么办&#xff…

将QT移植到IMX6ULL开发板

文章目录 前言一、编译系统1.设置交叉编译工具链2.编译系统3.烧写 二、Linux中下载QT1.安装 Qtcreator2.创建第一个程序3.配置 QtCreator 开发环境(1)打开选项界面(2)选择编译器(3)设置编译器(4…

SoftCLT: 时间序列的软对比学习《Soft Contrastive Learning for Time Series》(时间序列、时序分类任务、软...

2024年6月25日,10:11,好几天没看论文了,一直在摸鱼写代码(虽然也没学会多少),今天看一篇师兄推荐的。 论文: Soft Contrastive Learning for Time Series 或者是: Soft Contrastive Learning for Time Seri…

AutoX.js从某音分享链接解析出视频ID

背景 从某音分享的链接中解析出数字的videoID,用来做评论Intent跳转 思路 基本所有的短链接都是302跳转或者js跳转,熟悉http协议都知道,当状态码为302,从headers中提取Location即刻获得视频的原链接 链接中就带有videoId 要注意…

【串口通信】之TTL电平

1. 什么是串口 串口,全称为串行通信端口,是一种计算机硬件接口,用于实现数据的串行传输。与并行通信不同,串口通信一次只传输一个比特,数据通过串行线按顺序传输。串口通信在嵌入式系统、工业控制、计算机与外围设备通信等领域非常常见 2. 什么是串口通信 串口通信是指通过…

提升速卖通店铺排名:自养号测评的实战策略

卖家们追求的目标之一就是推广爆品。通过有效的推广策略,可以增加爆品的曝光度、吸引更多的买家,并带来更多的销售机会。那么,速卖通上如何推广爆品呢?下面我们来探讨一下这个问题。 首先,为了推广爆品,卖家需要进行…

护眼落地灯哪个牌子好?盘点五款必入不踩雷的护眼大路灯

护眼落地灯哪个牌子好?在这个快节奏的时代,护眼落地灯已经从一种高端选择转变为日常用眼生活中的必须品。不论是提升普通照明,还是针对孩子学习是改善光线质量环境,一款优秀的护眼落地灯都能成为我们生活中的照明神器。怎么选择一…

xmind2testcase工具将测试用例从Xmind转为CSV导入禅道

使用xmind编写测试用例,使用xmind2testcase工具将测试用例从Xmind转为CSV导入禅道,便于管理。 1.工具准备 第一步:安装python 第二步:安装xmind2testcase工具 运行-cmd-打开命令提示符弹窗,输入安装命令 安装命令&…

数千万“四高”中老年患者,如何推动国产营养保健品创新

“三高”指高血压、高血糖(糖尿病)、高血脂,是中老年群体的常见病。 然而,除了前述三者,高尿酸血症在我国的患病率正逐年提高,已成为仅次于糖尿病的第二大代谢性疾病。痛风是高尿酸血症典型症状之一。 加上…

大华设备接入GB28181视频汇聚管理平台EasyCVR安防监控系统的具体操作步骤

智慧城市/视频汇聚/安防监控平台EasyCVR兼容性强,支持多协议接入,包括国标GB/T 28181协议、GA/T 1400协议、部标JT808协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等,并能对外分发RTMP、…