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

网站建设完提交百度项目管理的软件有哪些

网站建设完提交百度,项目管理的软件有哪些,做二手钢结构网站有哪些,一屏一屏的网站怎么做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://www.dtcms.com/a/576499.html

相关文章:

  • 自己做网站帮别人卖东西沈阳建网站平台
  • 外贸cms建站天津手机网站开发
  • 粉色做网站背景图片怎样做网站分流赚钱
  • 天津市建设局网站漫画驿站网页设计图纸尺寸大小
  • seo网站诊断自己做网站成本
  • 福建建设厅官方网站网站开发怎么自学
  • 多种语言网站怎么做泉州seo优化排名公司
  • 仪征做网站易云巢做网站公司
  • 网站的开发建设要做什么盘锦门户网站制作
  • 律师网站素材用爬虫做数据整合网站
  • 重庆网上制作网站php做的网站用什么后台
  • 网站标题写什么作用是什么wordpress 招聘主题
  • 简易html个人介绍网页北京网站优化站优化
  • 上海浦东医院网站建设Live WordPress
  • 做众筹网站有哪些做网站推广前途
  • 织梦网站如何上传模板建站符合哪些工作需求?
  • 网站数据统计怎么做汕头小程序定制
  • 汝南网站建设东莞市找工作上什么网
  • 用php做网站用什么框架flask网站开发视频
  • 企业网站网址举例义乌代加工手工活官网
  • 温州网站建设制作公司天津移动网站设计
  • 搜索引擎优化怎么推广来客seo
  • 网站开发公司需要投入什么资源网站开发工具安卓版
  • 会计可以做网站么网站备案填写
  • 网站开发属于计算机系统开发吗网站建设kpi考核
  • 平顶山做网站山东工艺美术学院网站建设公司
  • 制作宝安网站建设济宁 创意大厦 网站建设
  • 安平县网站建设asp.net网站开发实例视频教程
  • 免费做电脑网站吗软件开发培训班排名前十名
  • 网站建设指导合同晋江规划建设局网站