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

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    // 1-2-3   3-2-1
    public ListNode ReverseList(ListNode head) {
        ListNode fast = head;
        ListNode pre = null;
        while (fast != null) {
            ListNode tempSave = fast.next;
            fast.next = pre;
            pre = fast;
            fast =  tempSave;
        }
        return pre;
    }
}

采用交换链表节点解决此问题,每一次循环用当前节点链接下一个节点,而这个下一个节点就是我们的前一个节点,最后连成链条以后存储倒pre里,