解法

链表 1->2->3->4
我们可以先把 当前指针的结点给脱落,将脱落的结点御用头插法重新组成链表就OK了。

代码

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode pre = null;
        ListNode p =head;
        ListNode q = head;
        ListNode ansNode = null;
        while(p!=null){
            ListNode tail = p.next;
            if(tail == null){
                ansNode = p;
            }
            p.next = pre;
            pre = p;
            p = tail;
        }
        return ansNode;
    }
}