news 2026/8/22 1:37:23

LeetCode每日一题——K个一组翻转链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode每日一题——K个一组翻转链表

题目描述:给定链表的头节点head,每k个节点一组进行翻转,返回操作后的链表。

示例:

输入:head = [1,2,3,4,5], k = 2
输出:[2,1,4,3,5]

我们可以先处理翻转整个链表的情况

ListNode* reverseList(ListNode* head) { ListNode* cur = head; ListNode* pre = nullptr; while (cur) { ListNode* tmp = cur->next; cur->next = pre; pre = cur; cur = tmp; } return pre; }

又因为k个一组,所以可以优化到翻转某一段区间上的链表

ListNode* reverseList(ListNode* m,ListNode* n){ ListNode* cur=m; ListNode* pre=nullptr; while(cur!=n){ ListNode* tmp=cur->next; cur->next=pre; pre=cur; cur=tmp; } return pre; }

最后递归,注意讨论k=1的情况

ListNode* reverseList(ListNode* m,ListNode* n){ ListNode* cur=m; ListNode* pre=nullptr; while(cur!=n){ ListNode* tmp=cur->next; cur->next=pre; pre=cur; cur=tmp; } return pre; } ListNode* reverseKGroup(ListNode* head, int k) { if(k==1){ return head; } ListNode* p=head; ListNode* q=head; for(int i=0;i<k;++i){ if(p==nullptr){ return head; } p=p->next; } ListNode* newHead=reverseList(q,p); q->next=reverseKGroup(p,k); return newHead; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 2:51:06

应用安全 --- WIN安全 之 VMP初体验

Virtual Machine Protect. 虚拟机保护 &#xff0c;可以将汇编指令转化为自定义指令集&#xff0c;虚拟指令涉及上百万条汇编指令&#xff0c;极大增强pj难度。由win版本的和linux&#xff0c;安卓版本的。他们的软件实现方法和厂家都不一样&#xff0c;但是原理相同。win具体的…

作者头像 李华
网站建设 2026/8/21 20:09:56

【Pytorch】基于LSTM-KAN、BiLSTM-KAN、GRU-KAN、TCN-KAN、Transformer-KAN(各种KAN修改一行代码搞定)的共享单车租赁预测研究(数据可换)附Pytho

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/8/21 3:40:17

计算机Java毕设实战-基于springboot的校园一卡通管理系统的设计与实现支持线下消费,线上服务【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/8/20 21:26:33

多线程的学习

程序&#xff1a;一段静态的代码&#xff0c;是应用软件执行的蓝本进程&#xff1a;程序一次动态执行的过程&#xff0c;对应从代码加载&#xff0c;执行到执行完毕的一个完整过程线程&#xff1a;比进程更小的执行单位多线程的基本概念&#xff1a;每个进程都有一段专用的内存…

作者头像 李华
网站建设 2026/8/21 4:49:16

计算机Java毕设实战-基于springboot的影院购票管理系统的设计与实现基于SpringBoot的电影购票系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/8/21 9:57:39

2个免费降ai率工具,ai查重率降到10%只需5分钟!

临近毕业&#xff0c;好多学弟学妹都在问&#xff1a;有没有免费的降AI率工具&#xff1f; 一篇论文动不动10000、20000字&#xff0c;查重、查AI率、降重、降AIGC率&#xff0c;再查一次AIGC率。从写好论文到最后通过查重&#xff0c;最起码得好几百。 对学生来说&#xff0…

作者头像 李华