力扣 中等 143.重排链表

文章目录

题目介绍


题解

java 复制代码
class Solution {
    public void reorderList(ListNode head) {
        ListNode mid = middleNode(head);
        ListNode head2 = reverseList(mid);
        while (head2.next != null) {
            ListNode nxt = head.next;
            ListNode nxt2 = head2.next;
            head.next = head2;
            head2.next = nxt;
            head = nxt;
            head2 = nxt2;
        }
    }

    // 876. 链表的中间结点
    private ListNode middleNode(ListNode head) {
        ListNode slow = head, fast = head;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        return slow;
    }

    // 206. 反转链表
    private ListNode reverseList(ListNode head) {
        ListNode pre = null, cur = head;
        while (cur != null) {
            ListNode nxt = cur.next;
            cur.next = pre;
            pre = cur;
            cur = nxt;
        }
        return pre;
    }
}
相关推荐
渣哥11 分钟前
为什么越来越多公司选择 JAVA?一个老程序员的观察笔记
java
码出极致22 分钟前
电商支付场景下基于 Redis 的 Seata 分布式事务生产实践方案
java·后端
chen_note26 分钟前
Redis数据持久化——RDB快照和Aof日志追加
java·数据库·mybatis·持久化·aof·rdb
superlls1 小时前
(Redis)缓存三大问题及布隆过滤器详解
java·后端·spring
阿里嘎多哈基米1 小时前
二、JVM 入门——(三)栈
java·开发语言·jvm·线程·
lovebugs1 小时前
🚀 Kubernetes核心命令详解:Java开发者必备指南
java·后端·kubernetes
快乐肚皮2 小时前
IntelliJ IDEA Debug 模式功能指南
java·ide·intellij-idea·debug
_風箏2 小时前
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成
java·后端·elasticsearch
野犬寒鸦2 小时前
力扣hot100:字母异位词分组和最长连续序列(49,128)
java·数据结构·后端·算法·哈希算法
浮游本尊2 小时前
Java学习第14天 - 微服务架构与Spring Cloud
java