剑指Offer LeetCode 面试题24. 反转链表

时间:2022-07-22
本文章向大家介绍剑指Offer LeetCode 面试题24. 反转链表,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

面试题24. 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:

输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL

package 链表;

public class Solution2 {
    public static  ListNode reverseList(ListNode head) {

        ListNode newHead=null,node;

        while (head!=null){

            //记录当前的
            node = head;
            //删除
            head = head.next;


            //对新的链表做头插法
            node.next = newHead;
            newHead=node;
        }

        return newHead;
    }

    public static void main(String[] args) {
        ListNode l1 = new ListNode(1);
        ListNode l2 = new ListNode(3);
        ListNode l3 = new ListNode(2);
        l1.next=l2;
        l2.next=l3;

        ListNode listNode = reverseList(l1);
        while (listNode!=null){
            System.out.println(listNode.val);
            listNode=listNode.next;
        }
    }
}