题目描述
输入一个链表,反转链表后,输出新链表的表头。
思路:
这道题只需要解决:保持head持续往下的同时,记录head的前一个节点;
所以用一个pre存储前一个节点,next存储下一个节点,画个图就很容易理解;
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null)
return null;
ListNode pre=null;
ListNode next=null;
while(head!=null){
next=head.next;//保存下一个节点
head.next=pre;//逆转
pre=head;//保存前一个节点
head=next;//保持持续往下
}
return pre;
}
}