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

61. 旋转链表

题目来源:

        LeetCode题目:61. 旋转链表 - 力扣(LeetCode)

解题思路:

       将链表的每个位置往后移动 k 位即将链表的最后 k 个元素移至开头。

解题代码:

#python3
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def getLength(head:Optional[ListNode])->int:res=0while head!=None:head=head.nextres=res+1return resdef rotateRight(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:length=Solution.getLength(head)if length==0:return headk=k%lengthif  k==0:return headnewHead=headnewTail=headfor i in range(k-1):newTail=newTail.nextpre=newHeadwhile newTail.next!=None:pre=newHeadnewHead=newHead.nextnewTail=newTail.nextpre.next=NonenewTail.next=headreturn newHead

总结:

        官方题解是将链表闭合为环后让 head 移动 k 个位置,再在该位置的前面一个 节点断开链表。


http://www.xdnf.cn/news/7025.html

相关文章:

  • 理解 plank 自动生成的 copyWithBlock: 方法
  • C++(初阶)(十八)——AVL树
  • 深入解析:如何基于开源OpENer开发EtherNet/IP从站服务
  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第一篇:I2C总线协议深度解剖
  • 广和通L610模块通过AT指令访问服务器方案:嵌赛使用
  • 蓝桥杯-不完整的算式
  • select语句的书写顺序
  • DAY 23 训练
  • Vue框架
  • windows 10 做服务器 其他电脑无法访问,怎么回事?
  • 深度学习模型入门:从基础到前沿
  • leetcode 239. 滑动窗口最大值
  • MySQL初阶:sql事务和索引
  • 电子电路:什么是高频电路以及都有哪些应用?
  • 手机打电话时由对方DTMF响应切换多级IVR语音应答(二)
  • UDP的单播组播与广播
  • 使用 Python 打造一个强大的文件系统结构创建器
  • 前脚收购 Windsurf 后,OpenAI 深夜发布 Codex。
  • 基于Yolov8+PyQT的老人摔倒识别系统源码
  • 计算机视觉与深度学习 | Python实现EMD-CNN-LSTM时间序列预测(完整源码、数据、公式)
  • 基于CentOS7制作OpenSSL 1.1的RPM包
  • Webpack DefinePlugin插件介绍(允许在编译时创建JS全局常量,常量可以在源代码中直接使用)JS环境变量
  • HarmonyOS:重构万物互联时代的操作系统范式
  • 6.1.1图的基本概念
  • 在宝塔中使用.NET环境管理部署 .NET Core项目
  • GO语言语法---if语句
  • VSCode launch.json 配置参数详解
  • 软件调试纵横谈-17-win32堆的调试支持
  • Android开发——轮播图引入
  • Redis设计与实现——Redis命令参考与高级特性