public class Solution {
public ListNode rotateRight(ListNode head, int k) {
// 特判
if (head == null || head.next == null || k == 0) {
return head;
}
// 第 1 步:先要知道链表有多少个结点
int n = 1;
ListNode fastNode = head;
while (fastNode.next != null) {
fastNode = fastNode.next;
n++;
}
// 此时 fastNode 到末尾结点
k = k % n;
if (k == 0) {
return head;
}
// 第 2 步:找到倒数第 k 个结点,走 n - k - 1 步
ListNode slowNode = head;
for (int i = 0; i < n - k - 1; i++) {
slowNode = slowNode.next;
}
// 第 3 步:穿针引线
ListNode newHead = slowNode.next;
// 先把尾部接到开头
fastNode.next = head;
// 再切断原来的连接
slowNode.next = null;
return newHead;
}
}
java-leetcode题解之第61题旋转链表.zip
需积分: 1 110 浏览量
2024-06-05
05:30:56
上传
评论
收藏 2KB ZIP 举报
DdddJMs__135
- 粉丝: 1422
- 资源: 370
最新资源
- 关于如何快速入手Kotlin
- ALTIUM库 常用电阻电容芯片类2D3D PCB封装库AD库(2D3D封装库).zip
- keil5安装教程keil5安装教程
- 所得到的多多多多多多多
- GNSS芯片 AG3335M芯片的,EVB 硬件设计图
- 阿云主机网络连接详细操作.docx
- 网络爬虫软件研究与开发pdf
- Java项目-基于SSM+JSP的母婴用品网站的设计与实现(源码+数据库脚本+部署视频+代码讲解视频+全套软件)
- 基于微信小程序的购物商城app设计带Java后端+源代码+文档说明+数据库.zip
- 基于51单片机外设应用设计.DSN后缀PROTEUS仿真仿真源文件及C语言实例源码例程合集(300个).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈