剑指offer-反转链表

题目描述:

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

思路:

​ 设置前置指针pre,现指针cur,下一指针nex

1. 将cur的next指向pre
2. pre指向cur
3. cur指向nex
4. nex指向nex的next

code

public ListNode ReverseList(ListNode head) {
    if(head==null){
        return null;
    }
    ListNode pre,cur,nex;
    pre=null;
    cur=head;
    nex=head.next;
    while(cur!=null) {
        cur.next=pre;
        pre=cur;
        cur=nex;
        if(cur==null) {
            break;
        }
        nex=nex.next;
    }
    return pre;
}