【JAVA】输入一个链表,反转链表后,输出新链表的表头。

RT。

核心思想:将前一个节点与后一个节点断开,然后将当前节点指向前节点,链表反转。这个过程需要节点引用,来记录当前操作的前后节点。

以链表head: 1>2>3>4为例。

初始化

ListNode pre=null;

ListNode next = head.next;(2>3>4)

head(1>2>3>4),当前指向1。

head.next = pre; 此操作将1断开,指向null;即 1>null

pre = head;(1>null)

head = next;(2>3>4)

第二次循环

head:(2>3>4)

next = head.next;(3>4)

需要将2断开指向pre

head.next = pre(2>1>null)

pre = head(2>1>null)

head = next;

一直将链表循环到head.next = null

你可能感兴趣的:(【JAVA】输入一个链表,反转链表后,输出新链表的表头。)