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

【链表】 61. 旋转链表

61. 旋转链表

解题思路

  • 首先计算出链表长度
  • 将链表长度进行取余
  • 遍历链表 对链表进行分割 得到两个子链表
  • 重新连接两个链表
  • 比如1 2 3 4 5 k= 2 进行分割得到 1 2 3 和 4 5两个子链表
/*** 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 rotateRight(ListNode head, int k) {// 首先计算出链表长度// 将链表长度进行取余 // 遍历链表 对链表进行分割  得到两个子链表// 重新连接两个链表// 比如1 2 3 4 5  k= 2 进行分割得到 1 2 3 和 4 5两个子链表if(head == null){return null;}ListNode dummyNode = new ListNode(0);// 定义一个哑结点dummyNode.next = head;ListNode p = head;int count = 0;while(p != null){p = p.next;count++;}int x =  k % count;// 真实需要移动的节点个数// 找到倒数第x + 1个节点int y = count - x;p = dummyNode;for(int i = 0; i < y; i++){p = p.next;// 移动节点}ListNode q = p.next;// 说明一个节点都不需要移动if(q == null){return dummyNode.next;}p.next = null;// 将该节点的下一个节点置为null// 开始连接链表dummyNode.next = q;while(q.next != null){q = q.next;// 找到最后一个节点}q.next = head;return dummyNode.next;}
}
http://www.lryc.cn/news/132140.html

相关文章:

  • 深入浅出Pytorch函数——torch.nn.init.kaiming_uniform_
  • 查询Oracle和MySQL数据库中当前所有连接信息
  • Android glide框架及框架涉及到的设计模式
  • 使用yolov5进行安全帽检测填坑指南
  • 【BASH】回顾与知识点梳理(三十二)
  • vscode远程调试PHP代码
  • flink1.17 实现 udf scalarFunctoin get_json_object 支持 非标准化json
  • 基于VUE3+Layui从头搭建通用后台管理系统(前端篇)九:自定义组件封装下
  • 设计模式详解-装饰器模式
  • Android5:活动生命周期
  • 第2章 数据结构和算法概述
  • WPF国际化的实现方法(WpfExtensions.Xaml)
  • 【Linux】—— 进程程序替换
  • idea创建javaweb项目,jboss下没有web application
  • 广东灯具3D扫描抄数建模服务3D测绘出图纸三维逆向设计-CASAIM
  • Nginx反向代理-负载均衡、webshell实践
  • 第六阶|见道明心的笔墨(上)从书法之美到生活之美——林曦老师的线上直播书法课
  • nbcio-boot从3.0升级到3.1的出现用户管理与数据字典bug
  • Curson 编辑器
  • Shell编程学习之函数的应用
  • Fork/Join框架
  • LeetCode_字符串_中等_468.验证 IP 地址
  • ABAP Der Open SQL command is too big.
  • QChart类用来 管理 图表的:数据序列(series)、图例(legend)和坐标轴(axis)
  • Servlet+JDBC实战开发书店项目讲解第10篇:在线客服功能实现
  • CVE-2023-21292 AMS框架层高危漏洞分析
  • cuda、cuDNN、深度学习框架、pytorch、tentsorflow、keras这些概念之间的关系
  • 第二讲:BeanFactory的实现
  • vue2+Spring Boot2.7 大文件分片上传
  • Vite更新依赖缓存失败,强制更新依赖缓存