首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >链表系列一> K 个一组翻转链表

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

作者头像
用户11305962
发布2025-05-03 18:24:26
发布2025-05-03 18:24:26
800
举报
文章被收录于专栏:学习学习
题目:

链接: link

这里是引用
这里是引用

解析:

这里是引用
这里是引用

代码:

代码语言:javascript
复制
/**
 * 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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目:
  • 解析:
  • 代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档