public ListNode reverseList(ListNode list) {
// 使用notProcessed存储暂未反转的链表
ListNode notProcessed = list;
// 使用reversed存储已经完成反转的链表
ListNode reversed = null;
// 此时达成上述两链表要求的状态
while(notProcessed != null) {
// 1. 从notProcessed中取出头结点
ListNode curr = notProcessed;
notProcessed = notProcessed.next;
// 2. 将上述结点放置到reversed链头
curr.next = reversed;
reversed = curr;
}
return reversed;
}