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

【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的节点
  • 设置没有数据的头节点,后续结果要去掉头节点

相关文章:

  • 使用SDKMAN!安装springboot
  • kettle-打不开提示Could not find the main class
  • nextjs15简要介绍以及配置eslint和prettier
  • halcon deeplearn 语义分割经验分享 1
  • Gazebo直接构建仿真世界
  • VSCode-Server 在 Linux 容器中的手动安装指南
  • 【技海登峰】Kafka漫谈系列(八)Controller:Zookeeper模式与KRaft模式
  • 山东2025年网络管理员报名工作经验要求与所需材料
  • 无标签数据增强+高效注意力GAN:基于CARLA的夜间车辆检测精度跃升
  • 责任链模式的C++实现示例
  • 项目中async和await的应用场景
  • PHPCMS V9 登录加密改造
  • 【redis】应用场景:共享会话和手机验证码
  • Quickwit+Jaeger+Prometheus+Grafana搭建Java日志管理平台
  • 使用AI一步一步实现若依前端(7)
  • Flutter 基础组件 Text 详解
  • 工作记录 2017-01-05
  • 算法面试题深度解析:LeetCode 2012.数组元素的美丽值求和计算与多方案对比
  • 【深度学习】读写文件
  • LiveGBS流媒体平台GB/T28181常见问题-视频流安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口流地址校验
  • 巴基斯坦关闭全部领空
  • 央行设立服务消费与养老再贷款,额度5000亿元
  • 玉渊谭天丨一艘航母看中国稀土出口管制为何有效
  • 印巴冲突升级,巴基斯坦股市重挫7.29%,创5年来最大单日跌幅
  • “80后”计算机专家唐金辉已任南京林业大学副校长
  • 苹果Safari浏览器上的搜索量首次下降