206. 反转链表(Java)

题目描述:

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

输入:

head = 1,2,3,4,5

输出:

5,4,3,2,1

代码实现:

1.根据题意创建一个结点类:

java 复制代码
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;
    }
}

2.反转链表具体实现:

java 复制代码
public class Main{
    public static void main(String[] args) {
        //创建一个简单的链表: 1 -> 2 -> 3
        ListNode head = new ListNode(1);
        head.next = new ListNode(2);
        head.next.next = new ListNode(3);
        //反转操作
        ListNode res = reverseList(head);
        //查看结果
        ListNode now = res;
        while (now != null) {
            if (now.next != null) {
                System.out.print(now.val + "->");
            } else {
                System.out.print(now.val);
            }
            now = now.next;
        }//3->2->1
    }

    public static ListNode reverseList(ListNode head) {
        //前驱指针
        ListNode pre = null;
        //当前指针
        ListNode current = head;
        //后继指针
        ListNode next;
        //反转操作
        while (current != null) {
            //保存后继结点信息
            next = current.next;
            //当前结点指向前驱
            current.next = pre;
            //pre指向当前结点
            pre = current;
            //当前结点指针指向下一个结点
            current = next;
        }
        //pre为反转之后的头结点
        return pre;
    }
}
相关推荐
starzy19902 小时前
Flink基础之Per-Job-Cluster原理详解:被 Application 取代的模式
java·大数据·flink
魏 无羡8 小时前
webclient
java·webclient
神仙别闹9 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
swordbob10 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
淡海水11 小时前
08-03-不可变-ImmutableDictionary-TKey-TValue-与ImmutableHashSet-T-持久化哈希树
数据结构·算法·c#·哈希算法·dictionary·immutable
m0_5873830011 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析
白山编程大哥11 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
一技安身12 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
七夜zippoe12 小时前
为什么 2026 年每个 Java 团队都该懂 AI Agent
java·开发语言·人工智能
时凌云.12 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos