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

LeetCode 61. 旋转链表

题目描述


分析

grq:关于链表结点的修改顺序:改前先用,用后就改。
将每个结点向右移动k个位置,实际上就是将后k个结点连接到头部。这道题目是不需要dummy结点的。整体分析如下:
在这里插入图片描述

首先要获得整个链表也是后k个结点的尾结点。由于整个是n个结点,除掉后k个结点后还有n-k个结点,要修改指针首先要跳到倒数第k+1个结点(正数第n-k个结点),从第一个结点跳n-k-1次就可以到达。之后就是指针的修改:

  • 尾结点指向头结点
  • 倒数第k个变为新的头结点
  • 倒数第k+1(正数第n-k)个结点变为尾结点指向null,

代码(Java)
class Solution {public ListNode rotateRight(ListNode head, int k) {if (head == null) return head;ListNode tail = head;// 先求出链表长度int n = 1;while (tail.next != null) {n ++;tail = tail.next;}k %= n;if (k == 0) return head;ListNode cur = head;// 倒数第k+1个结点成了尾结点for (int i = 0; i < n - k - 1; i ++) cur = cur.next;tail.next = head;head = cur.next;cur.next = null;return head;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 再识Clip
  • clickhouse 保证幂等性
  • 9月11号作业
  • Netty权威指南:Netty总结-编解码与序列化
  • 【数据结构-二维前缀和】力扣221. 最大正方形
  • 18069 x的n次方
  • 【CSS in Depth 2 精译_029】5.2 Grid 网格布局中的网格结构剖析(上)
  • digits Social Login插件 google OAuth 2.0登录 400 redirect_uri_mismatch错误解决
  • Python 从入门到实战14(字符串相关操作)
  • 电源自动测试系统有哪些原理和优势?
  • [综述笔记]Federated learning for medical image analysis: A survey
  • 决策树算法原理
  • 一文彻底了解DNS协议工作原理,恐怕没有比这更通俗易懂的了吧?
  • 1.C++入门1(c++编译过程,命名空间,C++输入输出,缺省参数)
  • es6(1)
  • 《Java编程思想》读书笔记-对象导论
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • Angularjs之国际化
  • HTTP--网络协议分层,http历史(二)
  • nginx 负载服务器优化
  • vue 配置sass、scss全局变量
  • VuePress 静态网站生成
  • 笨办法学C 练习34:动态数组
  • 从零开始在ubuntu上搭建node开发环境
  • 王永庆:技术创新改变教育未来
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 用简单代码看卷积组块发展
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 《码出高效》学习笔记与书中错误记录
  • ​浅谈 Linux 中的 core dump 分析方法
  • ​学习一下,什么是预包装食品?​
  • !!java web学习笔记(一到五)
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (26)4.7 字符函数和字符串函数
  • (5)STL算法之复制
  • (52)只出现一次的数字III
  • (PySpark)RDD实验实战——求商品销量排行
  • (二)hibernate配置管理
  • (二)丶RabbitMQ的六大核心
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十)c52学习之旅-定时器实验
  • (十六)视图变换 正交投影 透视投影
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (四)模仿学习-完成后台管理页面查询
  • (算法设计与分析)第一章算法概述-习题
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)菜鸟学数据库(三)——存储过程
  • **PHP二维数组遍历时同时赋值
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .Family_物联网
  • .NET Micro Framework初体验