/*
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;
}
}