题目描述
输入一个链表,反转链表后,输出新链表的表头。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
//null->1->2->3->4->null
ListNode pre = null;
ListNode resNode = head;
while(head != null){
//以第一次反转为例
//起始时head为1
//最开始pre是1左边的null
//resNode默认指向1
resNode = head.next;//将反转位置从1后移到2
head.next = pre;//反转指向,1指向null
pre = head;//pre向后移从null移动到1
head = resNode ;//head从1移动到2
}
return pre;
}
}