初始化 pre=null,cur=head;

  1. next=cur.next;//保存后继节点。

  2. cur.next=pre;//翻转或逆序

  3. pre=cur;//后移

  4. cur=next;// 后移

     /**
      * 输入一个链表,反转链表后,输出新链表的表头。
      * @param head 链表
      * @return 反转链表后的表头
      */
     public ListNode ReverseList(ListNode head) {
         if(head==null||head.next==null){
             return head;
         }
         ListNode pre=null;
         ListNode cur=head;
         while (cur!=null){
             ListNode next= cur.next;
             cur.next=pre;
             pre=cur;
             cur=next;
         }
         return pre;
    
     }