[Leetcode] 61. Rotate List 解题报告

世界职业院校技能大赛商贸赛道项目参考逐字稿一 商贸赛道“智选优品”—基于大数据与AI驱动的跨境电商平台项目参考逐字稿您订阅本专栏后即可`永久享有所有文章的查阅权`,希望我们更新的参考资料能帮助到您。如果您需要我们团队赋能培训可联系我(企业一线工程师及国一获奖选手在线培训支持:每周直播精讲(可回放,支持弹幕答疑)、代码Review+技术售后(拉群随时问,12h内响应)、④路演PPT+答辩话术一对一点评,评委视角提前彩排、适合:中职/高职赛项选手、指导老师带队、校企工作室、整校打包另谈(可开发票)) 阅读详情

题目:

Given a list, rotate the list to the right by k places, where k is non-negative.

For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.

思路:

最正统的解法就是two pointers:定义两个指针p和q,然后先让q前进k步,接着让p和q同步前进直到q到达末尾。此时p的下一个节点就是未来新的头节点,所以此时修改p和q的next即可。本题除了需要注意two pointers的运行边界情况之外,还需要特别注意几个特殊情况:1)链表本身为空;2)k值大于链表的长度;3)更新后的k值为0。本题的时间复杂度为O(n),空间复杂度为O(1)。

代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* rotateRight(ListNode* head, int k) {
        if (head == NULL || k == 0) {       // speicial case
            return head;
        }
        ListNode *p = head, *q = head;
        int len = 1;
        while (q->next != NULL) {           // get the length of the list
            len++;
            q = q->next;
        }
        k = k % len;                        // in case k is equal or larger than the length of the list
        if (k == 0) {
            return head;
        }
        q = head;
        for (int i = 0; i < k; ++i) {       // set the second pointer
            q = q->next;
        }
        while (q->next != NULL) {
            p = p->next;
            q = q->next;
        }
        ListNode* newHead = p->next;
        p->next = NULL;
        q->next = head;
        return newHead;
    }
};



【DDR5 PCB走线SI/PI仿真调试】详细全攻略 问题场景发现症状优化措施过孔Stub效应TDR波形尖峰,信号反射严重使用盲孔,背钻减少Stub,降低Via数量串扰过大眼图闭合,误码率增加增加走线间距,插入地线隔离,减少平行长度电源阻抗过高PDN谐振导致纹波大多频率去耦,靠近电源引脚布置多档电容,合理分层信号时序失配优化走线长度匹配,避免信号走线跨层跳变DDR5设计不仅是硬件的挑战,更是仿真能力的考验。掌握SI/PI仿真,理解信号背后的物理本质,才能真正把握高速接口的“灵魂”! 阅读详情

相关推荐

DMA 定制固件教程:小白跟做即得单人固件,超详细纯喂饭教程,100% 成功秘籍!FPGA仿真1:1、中断逻辑和TLP核心都在。

DMA 定制固件教程 小白跟着操作做可以做出的单人固件。DMA仿真技术io、中断逻辑,从零仿真。图文链接教程:https://docs.qq.com/doc/DQ01lVGtHelROVHNv

qq_15741349的博客 3万+

LeetCode61 Rotate List 解题报告

LeetCode61 Rotate List 解题报告 Given a list, rotate the list to the right by k places, where k is non-negative. 题目的意思是: 在一个列表中找到倒数第k个的节点,然后进行旋转,即将该节点作为头节点,将该节点前的节点连接到最好的节点。 例子: Given 1->2->3->4->5

bemf168的博客 248

避坑指南:PVE下N卡直通错误代码43的终极解决思路与dmesg日志分析

本文详细解析了PVE环境下NVIDIA显卡直通时遇到的错误代码43问题,提供了从dmesg日志分析到BIOS配置、PVE宿主机优化及虚拟机设置的完整解决方案。特别针对GTX1060等显卡,分享了驱动版本选择、ROM修补及高级排错技巧,帮助用户彻底解决这一常见难题。

weixin_28693683的博客 287

【LeetCode】61. Rotate List 解题报告(Python)

【LeetCode】61. Rotate List 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.me/ 题目地址:https://leetcode.com/problems/rotate-list/descripti...

负雪明烛 1851

COCO2017数据集类别分布深度解析

本文深入解析了COCO2017数据集的类别分布情况,包括80个常见物体的分类统计和样本数量分析。通过对比训练集与验证集的分布一致性,探讨了数据均衡性问题,并针对高频和低频类别提出了实用的数据预处理和模型训练建议,帮助优化计算机视觉任务的性能。

weixin_42533751的博客 369

手把手教你用NetToPLCsim搭建西门子S7-1200仿真环境(附避坑指南)

本文详细指导如何利用NetToPLCsim与PLCSIM搭建西门子S7-1200仿真环境,实现无硬件条件下的PLC程序测试与上位机通信开发。内容涵盖软件选型、环境部署、关键参数配置及通信测试,并重点提供了连接失败、数据读写错误等常见问题的深度避坑指南,帮助工程师高效构建可靠的虚拟调试工作流。

a3b4c5的博客 611

[leetcode] 61. Rotate List 解题报告

题目链接:https://leetcode.com/problems/rotate-list/ Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5

小榕流光的专栏 467

国产HDMI2.0芯片GSV2011怎么选?手把手教你用它设计音视频采集卡(附FPGA/海思对接指南)

本文详细解析国产HDMI2.0芯片GSV2011在音视频采集卡设计中的应用,涵盖芯片选型、硬件设计要点及与FPGA/海思平台的对接指南。GSV2011凭借4K@60Hz支持、音频提取嵌入功能和高集成度,成为音视频设备的核心选择,助力开发者快速实现高性能采集卡设计。

weixin_30181209的博客 331

Leetcode #61. Rotate List 循环位移链表 解题报告

1 解题思想题目的意思是如果有一个链表,现在让你循环向右位移K步,得到一个新的开头的链表,例子可以看原题的实例。首先有一个你要明白的是,向右移动的K步,可能会大于链表的长度N,于是乎你需要这么做:1、遍历一次链表,得到链表长度N,并且将链表的尾巴连接到头结点上。 2、从head开始走n-k%n步的位置那里断开成一个新的链表,那个就是移动后的额结果 3、将断开的位置当做新的头结点返回,记得断开的时

MebiuW的专栏 2103

单细胞拟时序分析实战:用monocle2从Seurat对象构建细胞轨迹(附完整代码)

本文提供了一套完整的单细胞拟时序分析实战教程,详细讲解了如何将Seurat对象转换为Monocle2的CellDataSet,并构建细胞命运轨迹。内容涵盖数据转换、轨迹定义基因选择、降维参数调优、可视化技巧及结果生物学验证,旨在帮助研究者解决实际分析中的常见问题,从静态细胞图谱中挖掘动态发育过程。

weixin_29251337的博客 342

学习笔记:TF卡启动荔枝派Nano(全志F1C200S)

荔枝派Nano编译Kernel报错报错内容如下编译烧录 报错内容如下 No controllers found No ethernet found. 从这些报错我真没看从出啥问题,也是在网上找,说是没有找到flash,是因为淘宝买的板子更换了flash,需要在u-boot里面重新适配型号: 板子的型号为xt25f128,但是实际u-boot的配置里面不是需要重新更改: u-boot/arch/arm/dts/suniv-f1c100s-licheepi-nano.dts &spi0 { pin

热爱科技,物联,程序开发等 2133

Leetcode 61. Rotate List 旋转链表

Leetcode 61. Rotate List 旋转链表 标签: Leetcode 题目地址:https://leetcode-cn.com/problems/rotate-list/ 题目描述 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->3->4->...

CoderWangSon 210

WCK Operation (WCK 操作)

LPDDR6 SDRAM采用双时钟系统(WCK和CK),其中WCK频率是CK的两倍。为确保数据正确传输,需通过WCK2CK同步操作使两种时钟对齐。LPDDR6支持两种同步模式:Auto-sync off模式和WCK Always on模式,可通过MR22寄存器选择。同步操作由特定命令(Read/Write/MRR等)触发,需在满足特定时序参数(如tWCKENL、tWCKPRE等)后完成。同步前必须完成WCK2CK训练,且不同操作(读取/写入/CAS)有各自的时序要求。该机制确保数据在正确时钟相位下传输,是L

李家小院 649

leetcode 61. Rotate List和86. Partition List

【代码】leetcode 61. Rotate List和86. Partition List。

weixin_41554427的博客 654

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LeetCode61——Rotate List

LeetCode61——Rotate List 简单的链表操作。维护head和r指针,r初始指向链表末尾,并且r-next=head; 首尾相接,再根据给定K移动特定指针。 比如说,链表长度len=5,那么当k为1时,head指针向后移动len-k=4步,而r指针也移动同样步骤,这样始终有r->next==head; 最后将循环链表拆开为单链表即可。 注:根据提交经验,k会给很大

上善若水 1225

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python写算法题:leetcode: 61. Rotate List

# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def rotateRight(self, head, ...

206

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Leetcode 61 Rotate List

Leetcode 61 Rotate List题目思路代码 题目 Given a linked list, rotate the list to the right by k places, where k is non-negative. Example 1: Input: 1->2->3->4->5->NULL, k = 2 Output: 4->5->1->2->3->NULL Explanation: rotate 1 steps to

weixin_43796689的博客 187

lc61+rotate_list

https://leetcode.com/problems/rotate-list/ //使用tail进行操作,tail就是head的前一个 //61 Rotate List struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Sol...

小堃哥的专栏 199

LeetCode 61 Rotate List

LeetCode 61 Rotate List Problem Description: 将链表循环右移n个结点 具体的题目信息: https://leetcode.com/problems/rotate-list/description/ Solution: 解题思路 循环右移就是将链表后n个结点搬到链表前面,原尾结点连接原链表头结点,后n个结点从头数的第一个结点为新的头结点,后...

萤火虫啊飞呀飞 232

Leetcode 61. Rotate List

Given a linkedlist, rotate the list to the right bykplaces, wherekis non-negative. Example 1: Input: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL, k = 2 Output: 4-&gt;5-&gt;1-&gt;2-&gt;3-&gt;NULL Explan...

salmonwilliam的博客 398

LeetCode: 61. Rotate List(Medium)

1. 原题链接 https://leetcode.com/problems/rotate-list/description/ 2. 题目要求 给出一个链表的第一个结点head和正整数k,然后将从右侧开始数第k个结点之后的链表与之前的链表交换位置,例如 3. 解题思路 (1)首先要注意head结点不是指头结点,而是指第一个结点; (2)当head为null或者链表中只有一个...

aysk1112的博客 181

LeetCode //C - 61. Rotate List

【代码】LeetCode //C - 61. Rotate List。

Made in Code 895

LeetCode 61: Rotate List题解(python)

Leetcode 456: 132 Pattern 分类:Rotate List 难度:M 描述:给了一个链表,给了一个数字,按照要求旋转这个链表。 Input: 1->2->3->4->5->NULL, k = 2 Output: 4->5->1->2->3->NULL Explanation: rotate 1 steps to the right: 5->1->2->3->4->NULL rotate 2 ste

Bourns_A的博客 344

Leetcode 61. Rotate List(旋转链表) -- c语言

61. Rotate List Given a linkedlist, rotate the list to the right bykplaces, wherekis non-negative. Example 1: Input: 1->2->3->4->5->NULL, k = 2 Output: 4->5->1->2-&gt...

d_benhua的博客 389

Leetcode61 rotate list

Leetcode 61  注意:循环时需要取模 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class S

独钓寒江雪 411

[LeetCode] 61. Rotate List

原题链接: https://leetcode.com/problems/rotate-list/ 1. 题目介绍 Given a linked list, rotate the list to the right by k places, where k is non-negative. 给出一个链表,向右循环链表 k 位,k是一个非负整数。 Example 1: Input: 1->2-&...

Ber03的博客 175
上一篇: [Leetcode] 60. Permutation Sequence 解题报告
下一篇: [Leetcode] 62. Unique Paths 解题报告
魔豆Magicbean
博客等级 码龄19年 146粉丝 742原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值