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

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head == null) return head;
        ListNode dummyNode = new ListNode(-1);
        while (head!=null) {
            // 下一个节点
            ListNode next = head.next;
            head.next=dummyNode.next;
            dummyNode.next=head;
            head = next;
        }
        return dummyNode.next;
    }
}

解题思想:虚拟头结点+头插法