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

知名建筑类的网站银行内部网站建设建议

知名建筑类的网站,银行内部网站建设建议,优秀的wordpress涉及,wordpress邮件发验证码25. K 个一组翻转链表 - 力扣(LeetCode) 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最…

25. K 个一组翻转链表 - 力扣(LeetCode)

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。

你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

提示:

  • 链表中的节点数目为 n
  • 1 <= k <= n <= 5000
  • 0 <= Node.val <= 1000

 

解法思路

步骤分析

  1. 计算链表长度:首先遍历链表,得到总长度 n,确定需要翻转的组数 m = n / k
  2. 虚拟头节点:创建一个虚拟头节点,简化头节点翻转后的连接处理。
  3. 分组翻转:对每个分组进行头插法翻转,逐个将节点插入到前驱节点之后,形成逆序。
  4. 连接各组:每完成一组翻转后,更新前驱指针到当前组的末尾,以便连接下一组。
  5. 处理剩余节点:将剩余不足 k 个的节点直接连接到已处理部分的末尾。

关键点

  • 头插法翻转:对于每组节点,通过将每个节点插入到前驱节点之后,实现逆序。
  • 前驱指针更新:每完成一组翻转后,前驱指针移动到当前组的末尾,保持后续连接的正确性。

代码解析

class Solution {public ListNode reverseKGroup(ListNode head, int k) {int n = 0;ListNode cur = head;while (cur != null) { // 计算链表总长度cur = cur.next;n++;}int m = n / k; // 需要翻转的组数ListNode dummy = new ListNode(-1); // 虚拟头节点ListNode prev = dummy;cur = head;ListNode tmp = null;for (int i = 0; i < m; i++) { // 处理每组tmp = cur; // 保存当前组的第一个节点,翻转后变为末尾for (int j = 0; j < k; j++) { // 头插法翻转当前组ListNode next = cur.next;cur.next = prev.next; // 当前节点插入到prev之后prev.next = cur;cur = next;}prev = tmp; // 前驱指针移动到当前组末尾}prev.next = cur; // 连接剩余节点return dummy.next;}
}

 

复杂度分析

  • 时间复杂度:O(n),其中 n 为链表长度。遍历链表计算长度耗时 O(n),翻转每组节点耗时 O(n)。
  • 空间复杂度:O(1),仅使用常数级别的额外空间。

总结

本解法通过头插法实现每组的翻转,利用虚拟头节点简化连接逻辑,通过前驱指针维护各组之间的连接。思路清晰,代码简洁高效。适用于对链表操作较为熟悉的开发者,重点在于理解头插法的翻转逻辑和指针的更新策略。


文章转载自:

http://PZgZAzK4.wfttq.cn
http://c8sbgiqi.wfttq.cn
http://CsgEuN20.wfttq.cn
http://BL6XXnMq.wfttq.cn
http://iVKrEQ8P.wfttq.cn
http://ozzln4xZ.wfttq.cn
http://29yj7AHu.wfttq.cn
http://U299feDo.wfttq.cn
http://zhn1eEPo.wfttq.cn
http://A5cQPCRX.wfttq.cn
http://kYqwB74P.wfttq.cn
http://pVN9t1nx.wfttq.cn
http://QWWOlSyD.wfttq.cn
http://IugdpzRt.wfttq.cn
http://fbJtvxpW.wfttq.cn
http://9ILThWKa.wfttq.cn
http://AFYTrhCV.wfttq.cn
http://zJw2Y2BJ.wfttq.cn
http://HhgHUtqb.wfttq.cn
http://HZ3mQKBI.wfttq.cn
http://idXTNYsF.wfttq.cn
http://JTA5D8M7.wfttq.cn
http://zGy5QPGt.wfttq.cn
http://gYyj3EFj.wfttq.cn
http://wkshzxV3.wfttq.cn
http://2piT38Sv.wfttq.cn
http://aZIxu8js.wfttq.cn
http://2v7oEE0y.wfttq.cn
http://2LzZIuR4.wfttq.cn
http://ep7pSv8W.wfttq.cn
http://www.dtcms.com/wzjs/630161.html

相关文章:

  • 中山市网站制作wordpress首页404
  • 企业网站推广制作教程天津手机版建站系统
  • ping一下新浪网站怎么做网络公司 网站源码
  • 住房和城乡建设部网站查询做外贸用什么服务网站
  • 永久免费做网站网站建设个人主页图
  • 站长工具平台wordpress作者插件
  • 深圳苏州企业网站建设服务公司一网通办 上海
  • 企业建设网站的目的是什么ui界面设计素材
  • 奉新网站建设莞城最新通告
  • 做美食的网站网站的seo优化报告
  • 网站建设费用的会计分录wordpress自定义排序
  • 在贸易网站怎么做贸易wordpress图片 外链
  • 高端大气的ppt模板海南短视频搜索seo哪家实惠
  • 全国黄页平台无锡优化网站
  • 网站建设公司及网络安全法精品课网站怎么做
  • 网站备案和服务器备案吗dedeai网站最新
  • 俄语网站里做外贸shop淮北网站开发公司
  • 网站优化推广seowordpress 火车采集
  • 网站开发工具的功能app开发比较好的公司
  • 一级域名 二级域名 目录网站推广网站推广工具有啥
  • 443是端口网站建设哪个小说网站版权做的好
  • wordpress手机同步湛江网站关键字优化
  • 有经验的手机网站建设网站优化策划方案
  • 网站宣传方案北京网站设计公司cg成都柚米科技15
  • 做网站用户充值提现seo教程论坛
  • 做网站网站需要多少钱做30个精品网站
  • 网站开发基本流程网站建设.c
  • 网站建设分析方法怎么做网站访问量
  • 搭建平台有哪些平台说法西安seo霸屏
  • 网站开发所要达到的目标网站建建设