当前位置: 首页 > article >正文

【leetcode hot 100 25】K个一组翻转链表

解法一:先计算链表的总个数。根据节点总数和当前处理的节点个数进行判断。

class Solution {
    public ListNode reverseKGroup(ListNode head, int k) {
        ListNode reverse = new ListNode();
        reverse.next = null;
        ListNode curr_reverse=reverse;

        // 计算链表总数
        int num = 0;
        ListNode curr_head = head
        while(curr_head!=null){
            num++;
            curr_head=curr_head.next;
        }
        int round = num/k; // 可以轮几次

        int n=0;// 现在执行了几个
        while(n<round*k){
            // 新开启一次reverse
            ListNode temp = head.next;
            head.next = null;
            curr_reverse.next = head;
            head = temp;
            n++;
            while(n%k!=0){
                temp = head.next;
                head.next = curr_reverse.next;
                curr_reverse.next = head;
                head = temp;
                n++;
            }
            while(curr_reverse.next != null){
                curr_reverse = curr_reverse.next;
            }
        }
        // 加入后续不需要reverse的节点
        curr_reverse.next = head;
        // 删除头节点
        reverse=reverse.next;
        return reverse;
    }
}

注意:

  • 当新链表个数n<round(轮数)*k时,表示继续置换;否则表示后续节点不需要置换。
  • n%k!=0表示本轮置换还未结束
  • 记得加入后续不需要reverse的节点
  • 设置没有数据的头节点,后续结果要去掉头节点

http://www.kler.cn/a/581556.html

相关文章:

  • 每天五分钟深度学习框架PyTorch:ResNet算法模型完成CAFIR十分类
  • 小红书代运营公司-品融电商:助力品牌在小红书平台实现全域增长
  • Stable Diffusion游戏底模推荐
  • 基于ThinkPHP6用户登录逻辑,结合FastAPI框架实现用户登录系统的全流程解析
  • 碰一碰发视频系统---原生态网页端技术开发逻辑
  • 理解字符流和字节流,节点流和处理流、缓冲流、InputStreamReader、BufferInputStream、BufferReader...
  • Java直通车系列28【Spring Boot】(数据访问Spring Data JPA)
  • Qt5.10版本以下 qml ui语言动态切换
  • ​【C++设计模式】第十九篇:状态模式(State)
  • 备赛蓝桥杯之第XX届职业院校组省赛第七题:Github 明星项目统计
  • 买瓜 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组
  • 常用的接口重试方案!
  • JAVASE(五)
  • 【BUG】类文件具有错误的版本 61.0, 应为 52.0,请删除该文件或确保该文件位于正确的类路径子目录中。
  • Datawhale AI + 办公 笔记2
  • Spring Boot 调用DeepSeek API的详细教程
  • AI自动化代码编程——IntelliJ IDEA安装Continue框架使用 DeepSeek
  • vite 创建Vue3自定义指令集合插件,并发布npm
  • 2.3 DeepSeek SDK接入与鉴权体系设计
  • 【DuodooTEKr】 基于Python+OCR+DeepSeek的英国购物小票识别系统开发实战