题目描述
输入一个链表,反转链表后,输出新链表的表头。
最优解:使用两个指针,一个存储原链表的后续内容,一个用来存储当前的反转链表。循环存储是核心!
最优解
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode next = null, pre = null;
if(head==null)
return null;
while(head!=null){
next = head.next;
head.next = pre;
pre = head;
head = next;
}
return pre;
}
}