每k个一组翻转链表
题目分析
本题要求将链表中每连续k个节点作为一组进行翻转,如果剩余节点不足k个,则保持原有顺序。
为实现该功能,我们可以考虑如下方法:
解题思路与算法
本题适合使用链表操作和指针的模拟实现,具体思路为:
P4048.K个一组翻转链表
Leetcode 25.K个一组翻转链表-原题链接
题目内容
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k的整数倍,那么请将最后剩余的节点保持原有顺序。
你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换
输入描述
输入包含两行:
第一行包含链表的节点值,用空格隔开。
第二行包含一个整数k。
输出描述
输出链表翻转后的节点值,用空格隔开。
样例1
输入
1 2 3 4 5
2
输出
2 1 4 3 5
样例2

输入
1 2 3 4 5
3
输出
3 2 1 4 5
提示
- 链表中的节点数目为 n
- 1<=k<=n<=5000
- 0<=Node.val<=1000