5.16——25. K 个一组翻转链表

25. K 个一组翻转链表

给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
 
示例:
给你这个链表:1->2->3->4->5
当 k = 2 时,应当返回: 2->1->4->3->5
当 k = 3 时,应当返回: 3->2->1->4->5
 
1.解题思路
1.先将原链表的结点分好组存在列表中,每一组的顺序也是分好的。关于链表反转在上一篇笔记206中有详细介绍)列表如下:
    [
        ListNode{val: 2, next: ListNode{val: 1, next: None}}, 
        ListNode{val: 4, next: ListNode{val: 3, next: None}}, 
        ListNode{val: 5, next: None}
    ]
 
2.将列表中的所有元素首尾拼接起来就是最终答案
 
 
2.源码

猜你喜欢

转载自www.cnblogs.com/xiaoqichaoren/p/12951900.html