Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >链表系列一> K 个一组翻转链表

链表系列一> K 个一组翻转链表

作者头像
用户11305962
发布于 2025-05-03 10:24:26
发布于 2025-05-03 10:24:26
3600
代码可运行
举报
文章被收录于专栏:学习学习
运行总次数:0
代码可运行
题目:

链接: link

这里是引用
这里是引用

解析:

这里是引用
这里是引用

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    /**
    prev: 用来头插
    tmp: 每次头插前记录一下,好进行下一次头插
     */
    public ListNode reverseKGroup(ListNode head, int k) {
        ListNode cur = head;
        int n = 0;
        while(cur != null){
            cur = cur.next;
            n++;
        }
        n = n / k;//统计需要翻转链表几次

        cur = head;
        ListNode newHead = new ListNode(0);
        ListNode prev = newHead;

        for(int i = 0; i < n; i++){
            ListNode tmp = cur;
             for(int j = 0; j < k; j++){
                ListNode next = cur.next;
                cur.next = prev.next;
                prev.next = cur;
                cur = next; 
            }
            prev = tmp;
        }

        //把后面不需要逆序的连接上
        prev.next = cur; 
        return newHead.next;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【链表】K 个一组翻转链表
​ 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
利刃大大
2025/05/22
460
【链表】K 个一组翻转链表
链表系列一>两数相加
用户11305962
2025/04/24
780
链表系列一>两数相加
【力扣刷题】25. K 个一组翻转链表
你可以设计一个只使用常数额外空间的算法来解决此问题吗? 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。     示例 1:
jayjay
2022/11/02
2750
【力扣刷题】25. K 个一组翻转链表
LeetCode25:K个一组翻转链表
  给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
别团等shy哥发育
2023/02/25
1740
LeetCode25:K个一组翻转链表
25. k个一组翻转链表
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。
张伦聪zhangluncong
2022/10/26
2520
【算法】链表
tail指向最后一个节点,tail.next 指向新尾节点,tail指针在指向新尾节点
三三是该溜子
2025/02/15
790
【算法】链表
K 个一组翻转链表(递归,Kotlin)
你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
一个会写诗的程序员
2020/05/08
5010
K 个一组翻转链表(leetcode 25)
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
恋喵大鲤鱼
2023/10/12
1900
K 个一组翻转链表(leetcode 25)
【算法】递归入门
本篇文章主要是提供递归入门的简单算法题,可以帮助刚接触递归的友友们打开思路,打开递归的大局观,题目不难,重在思想
三三是该溜子
2025/02/16
800
【算法】递归入门
【python-leetcode25-翻转链表】K 个一组翻转链表
你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
西西嘛呦
2020/08/26
7340
【python-leetcode25-翻转链表】K 个一组翻转链表
链表系列一>两两交换链表中的结点
用户11305962
2025/04/27
760
链表系列一>两两交换链表中的结点
【力扣/牛客刷题】链表篇
如果不是所要求的值,则执行else往后走。直到cur == null 综上我们可以得到代码:
xxxflower
2023/04/16
2120
【力扣/牛客刷题】链表篇
链表系列一>重排链表
用户11305962
2025/04/28
490
链表系列一>重排链表
算法专题八: 链表
3. 不要吝啬空间, 大胆定义变量 4. 快慢双指针, (判环, 找链表中环的入口, 找链表中倒数第n个节点)
用户11317877
2024/10/20
1400
算法专题八: 链表
算法:链表
•https://tianchi.aliyun.com/course/932/14641
用户3578099
2022/03/15
4480
算法:链表
LeetCode-143-重排链表
给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…
benym
2022/07/14
3240
java——单链表方法实现
/** * 单链表 */ class Node{ public int data; public Node next; public Node(int data){ this.data = data; this.next = null; } } public class MyLinkedList { public Node head;//保存头节点的引用 // 1、无头单向非循环链表实现-----------------
小雨的分享社区
2022/10/26
4570
代码随想录day02--链表
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
ma布
2024/12/25
640
代码随想录day02--链表
TypeScript算法题实战——链表篇(链表的设计、反转、两两交换、删除、相交和环形链表)
链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思),链表的类型有单链表、双链表、循环链表。
中杯可乐多加冰
2024/08/03
2350
JavaScript算法题总结(一)链表
BM1 反转链表 /*function ListNode(x){ this.val = x; this.next = null; }*/ function ReverseList(pHead) { // write code here //递归终止条件 if(!pHead||!pHead.next) return pHead; let newhead = ReverseList(pHead.next); pHead.next.next = pHe
henu_Newxc03
2022/05/05
2940
JavaScript算法题总结(一)链表
相关推荐
【链表】K 个一组翻转链表
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验