alt

public class ListNode {

int val;
ListNode next = null;

ListNode(int val) {
    this.val = val;
}

public class Solution {

public ListNode ReverseList(ListNode head) {
    ListNode pre = head; //原有的链表
    ListNode cur = null; //新的链表
    while(pre!=null){
        ListNode tmp = pre.next;
        pre.next = cur; //将原有的链表的next指向新链表
        cur = pre; //将原有的链表的值赋值给新链表
        pre = tmp; //原有链表的位置向后移动一位
    }
    return cur;
}

}