news 2026/5/1 11:19:57

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/5/1 5:11:53

震惊!云服务器代理商性价比排行,这3家让你省下千万预算!

震惊&#xff01;云服务器代理商性价比排行&#xff0c;这3家让你省下千万预算&#xff01;在数字化转型浪潮席卷各行各业的今天&#xff0c;云服务器已成为企业IT架构的基石。然而&#xff0c;面对市场上琳琅满目的云服务商和代理商&#xff0c;如何选择一家兼具高性能、高稳定…

作者头像 李华
网站建设 2026/5/1 5:11:27

搞跨端渲染?你绕不开的HarfBuzz原理

文是HarfBuzz系列的第二篇&#xff1a;在这里插入图片描述本文概述在这里插入图片描述一、关键概念与结构1.1 scriptHarfBuzz 中 script 指的是文字系统的类型&#xff0c;注意不是指语言&#xff0c;不同语言也可能属于同一类书写系统&#xff0c;比如&#xff1a;hb_script 举…

作者头像 李华
网站建设 2026/5/1 5:09:07

DX12-1-DirectX3D初始化

什么是 Direct3D 12?DirectX 12 引入了 Direct3D 的下一个版本&#xff0c;即 DirectX 的核心 3D 图形 API。此版本的 Direct3D 比任何以前的版本更快、更高效。Direct3D 12 可实现更丰富的场景、更多的对象、更复杂的效果&#xff0c;以及充分利用现代 GPU 硬件。若要为 Wind…

作者头像 李华
网站建设 2026/4/30 20:20:43

RFSOC学习记录(六)混频模式分析

混频混频器&#xff08;Mixer&#xff09;是RFSOC通过ip核实现在数字域的频率搬移&#xff0c;主要功能是在不改变采样率的情况下&#xff0c;把信号的频谱中心移动到目标频率附近他主要通过一个数控振荡器&#xff0c;生成复指数信号与本振信号相乘&#xff0c;在ip核设置的过…

作者头像 李华
网站建设 2026/5/1 5:09:54

大模型应用开发面经汇总+学习资料包,助你轻松拿下30K+AI岗位!

本文作者分享了近半年面试阿里、腾讯等20多家大模型相关公司的经验&#xff0c;指出大模型应用面试更注重实践而非高深理论&#xff0c;RAG、微调和Agent是重点考察内容。掌握微调原理并实际操作是提升面试通过率的关键。作者还提供了面试准备建议和不同公司的岗位特点&#xf…

作者头像 李华
网站建设 2026/5/1 5:10:05

Chapter-1 Memory Management (section 1.1-1.5)

操作系统为什么需要内存管理&#xff1f;这应该是一个很经典的问题&#xff0c;内存池 (Memory Pool) 也可以认为是一种内存管理的方式&#xff0c;所以关于内存管理四个字有点像谜底就在谜面上&#xff0c;更多的只是你如何管理的方式。比如 FreeRTOS 中的好几种分配方式&…

作者头像 李华