链表解题技巧
- 利用快慢指针(有时候需要用到三个指针)
1.链表的反转
2.选择倒数第K的指针
3. 链表中间位置的元素
4. 链表是否有环
- 构建一个虚假的链表头
1.两个排序链表,进行整合排序
2.将链表的奇偶按原定的顺序分离,生产前半部分为奇数,后半部分为偶数
K 个一组翻转链表
题目:
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
示例 :
示例 :
给定这个链表:1->2->3->4->5
当 k = 2 时,应当返回: 2->1->4->3->5
当 k = 3 时,应当返回: 3->2->1->4->5
说明 :
你的算法只能使用常数的额外空间。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
思路
利用快慢指针(三个指针)