反转链表

Java实现

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;
}