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;
    }
}
相关推荐
麦兜*1 小时前
Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
java·spring boot·后端·spring·spring cloud·性能优化·springcloud
ruan1145142 小时前
MySQL4种隔离级别
java·开发语言·mysql
Hellyc6 小时前
基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
java·数据库·设计模式·rocketmq
lifallen6 小时前
Paimon LSM Tree Compaction 策略
java·大数据·数据结构·数据库·算法·lsm-tree
hdsoft_huge6 小时前
SpringBoot 与 JPA 整合全解析:架构优势、应用场景、集成指南与最佳实践
java·spring boot·架构
百锦再7 小时前
详细解析 .NET 依赖注入的三种生命周期模式
java·开发语言·.net·di·注入·模式·依赖
程序员的世界你不懂7 小时前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层
java·selenium·maven
有没有没有重复的名字8 小时前
线程安全的单例模式与读者写者问题
java·开发语言·单例模式
程序员的世界你不懂10 小时前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(4)集成Allure报表
java·selenium·maven
isNotNullX10 小时前
数据中台架构解析:湖仓一体的实战设计
java·大数据·数据库·架构·spark