- 题目链接:25. K 个一组翻转链表
- 考查知识:单链表(反转)
- 题意描述:将给定链表每 k 个节点一组进行翻转,不满k个的保持原序
- 具体代码
- 方法一:递归
- 递归实现不断分割链表,并对分割后的子链表进行反转,反转后再拼接回去即可
- 每次对分割后的反转区间链表建立伪头结点,p1指向这个伪头结点(反转区间的首结点的前驱),p2指向传来的头结点(反转区间的首结点),p3初始指向伪头结点然后先行k步即指向第k个结点(反转区间的尾结点),p4指向p3的后继(反转区间的尾结点的后继)
- 然后在p1,p3后断开后继,反转这段子链表拼接回去即可,特殊的,若子链表不满k个结点,直接返回即可
class Solution { public: void reverseList(ListNode
- 方法一:递归
25. K 个一组翻转链表(单链表(反转))
最新推荐文章于 2022-12-14 16:55:45 发布