Leetcode 0025.reverse-nodes-in-k-group
25. K 个一组翻转链表给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 示例 1: 12输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5] 示例 2: 12输入:head = [1,2,3,4,5], k = 3输出:[3,2,1,4,5] 解题思路:「K 个一组翻转链表」的核心思路是: 分组遍历:每次取 K 个节点作为一组,若不足 K 个则停止。 翻转每组:对当前 K 个节点进行翻转。 连接各组:将翻转后的组与前一组连接,更新指针继续处理下一组。 具体步骤: 用 dummy 虚拟头节点简化边界处理(避免头节点特殊逻辑)。 用 pre 记录上一组的尾节点(翻转后作为连接点)。 用 end 遍历并检查当前组是否有 K 个节点。 翻转当前组后,重新连接 pre 与翻转后的组,并更新 pre 和 end。 1234567891...

