剑指 Offer 24. 反转链表

Posted lisin-lee-cooper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 24. 反转链表相关的知识,希望对你有一定的参考价值。

一、题目描述

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

给定一个链表: 1->2->3->4->5

返回链表 5->4->3->2->1.

二.示例代码

public class ReverseNode 

    public static void main(String[] args) 

        ListNode listNode = new ListNode(1);
        ListNode listNode2 = new ListNode(2);
        ListNode listNode3 = new ListNode(3);
        ListNode listNode4 = new ListNode(4);
        ListNode listNode5 = new ListNode(5);
        listNode.next = listNode2;
        listNode2.next = listNode3;
        listNode3.next = listNode4;
        listNode4.next = listNode5;
        ListNode result = reverse(listNode);
        System.out.println(result);
    

    private static ListNode reverse(ListNode listNode) 
        ListNode pre = listNode;
        ListNode cur = pre.next;
        pre.next = null;
        while (cur != null) 
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        
        return pre;
    


以上是关于剑指 Offer 24. 反转链表的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode]剑指 Offer 24. 反转链表

剑指Offer打卡24.反转链表

剑指Offer打卡24.反转链表

剑指 Offer 24. 反转链表

剑指offer24.反转链表(简单,清晰图解)

剑指 Offer 24. 反转链表