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