/*
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 null;
        }
            ListNode pre=null;//上一节点从尾部开始往前走
            ListNode cur=head;//当前结点从头部开始往后走
        while(cur!=null){
            ListNode temp=cur.next;//保存下一结点,断开连接
            cur.next=pre;//使当前结点的下一指向上一结点,实现反转
            pre=cur;//更新上一结点位置
            cur=temp;//更新当前结点位置
        }
        return pre;//最终返回上一节点,既头结点
    }
}