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

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
//         ListNode dummyHead = new ListNode(-1);
//         dummyHead.next = head;
//         
        ListNode cur = head;
        ListNode reverseNode = new ListNode(-1);
        while (cur != null) {
            ListNode tmpNode = new ListNode(cur.val);
            tmpNode.next = reverseNode.next;
            reverseNode.next = tmpNode;
            cur = cur.next;
            
        }
        return reverseNode.next;
//         return head;
    }
}