/* 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 newHead = new ListNode(0); ListNode cur = head.next; //断开头节点与后面节点的联系 head.next =null; //tmp用于记录下一个后继节点的位置 ListNode tmp = cur; while(cur !=null){ // 记录当前cur的下一个位置 tmp = cur.next; //头插法到前面 cur.next = head; //将头节点前移 head = cur; //cur重新指向tmp继续往前插 cur = tmp; } return head; // return newHead.next; } }