206. [E] Reverse Linked List
https://leetcode.com/problems/reverse-linked-list/
== 最开始 ==
(p=null) (c/head) -> (..) -> (..)
== 中间过程 ==
初始状态: (.) <- (p) (c) -> (.) -> (.)
记录 n :(.) <- (p) (c) -> (n) -> (.)
反转 c :(.) <- (p) <- (c) (n) -> (.)
更新 pc:(.) <- (.) <- (p) (c) -> (.)
==最终状态
(.) <- (p) (c) -> (null)public ListNode reverseList(ListNode head) {
ListNode p = null, c = head, n = null;
while (c != null) {
n = c.next; // 保存下一个节点
c.next = p; // 反转当前节点连接
p = c; // 陆续更新 p 和 n,次序很重要
c = n;
}
return p;
}最后更新于