news 2026/5/1 5:04:35

【剑斩OFFER】算法的暴力美学——K 个一组翻转链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——K 个一组翻转链表

一、题目描述

二、算法原理

思路:

1)计算要逆序的链表对

2)创建一个哨兵位,分别把要逆序的结点头插到这个哨兵位上

插入完一对逆序对之后:

再头插到 prev 结点的后面:

3)把除链表逆序对的结点插入到这个哨兵位的最后结点上

三、代码实现

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: ListNode* reverseKGroup(ListNode* head, int k) { //计算链表的长度 int length = 0; ListNode* node = head; while(node) { length++; node = node->next; } //计算要逆序链表中的对数 int size = length / k; ListNode* head2 = new ListNode(0);//哨兵位 ListNode* prev = head2;//头插的位置 ListNode* cur = head; int num = 0;//记录插入的个数 while(size) { prev->next = cur; ListNode* next_prev = cur;//下一个头插的结点 ListNode* tmp = cur->next; cur->next = nullptr; num++; cur = tmp; while(num != k) { tmp = prev->next; prev->next = cur; num++; ListNode* next_cur = cur->next; cur->next = tmp; cur = next_cur; } prev = next_prev; num = 0; size--;//每逆行一对就减一 } if(cur) prev->next = cur;//连接逆转之后剩余的结点 ListNode* result = head2->next; delete head2; return result; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 10:51:57

深度学习毕设选题推荐:人工智能基于图像分割的疲劳检测方法研究

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

作者头像 李华
网站建设 2026/5/1 5:01:22

MTKClient实战宝典:联发科芯片深度调试与数据恢复全攻略

联发科芯片作为移动设备市场的核心力量,其底层调试能力一直是技术爱好者的关注焦点。MTKClient作为开源社区的重要成果,彻底改变了传统刷机工具的局限性,为用户提供了从设备识别到硬件级操作的完整技术栈。 【免费下载链接】mtkclient MTK re…

作者头像 李华
网站建设 2026/5/1 5:02:45

终极游戏模组管理方案:XXMI启动器完全操作手册

还在为游戏模组安装的复杂流程而烦恼吗?想要实现多游戏模组一键管理的便捷体验吗?XXMI启动器正是你需要的全能游戏模组管理平台。这款专为米哈游系列游戏设计的智能工具,能够彻底解决模组管理的各种痛点,让每位玩家都能轻松享受模…

作者头像 李华
网站建设 2026/4/29 8:09:57

深蓝词库转换:输入法数据迁移的终极解决方案

还在为更换输入法时无法保留精心积累的个人词库而苦恼吗?😊 深蓝词库转换作为一款开源免费的输入法词库转换程序,彻底解决了用户在输入法切换过程中的数据迁移难题。无论你是从搜狗拼音转向Rime输入法,还是从QQ拼音迁移到微软拼音…

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

Joy-Con Toolkit手柄调试工具:全方位功能解析与实战应用

Joy-Con Toolkit手柄调试工具:全方位功能解析与实战应用 【免费下载链接】jc_toolkit Joy-Con Toolkit 项目地址: https://gitcode.com/gh_mirrors/jc/jc_toolkit 作为任天堂Switch手柄的专业级调试解决方案,Joy-Con Toolkit提供了从基础设置到高…

作者头像 李华
网站建设 2026/4/28 3:41:36

SketchUp STL插件终极指南:5分钟实现3D建模到打印的无缝转换

SketchUp STL插件终极指南:5分钟实现3D建模到打印的无缝转换 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 在3D…

作者头像 李华