Reverse a singly linked list.
单链表的反转,核心是节点的下一个指向哪里的问题。把第一个放到最后一个,第二个放到倒数第二个,,,,,
java版:
public class test{
public class ListNode{
int val;
ListNode next;
ListNode(int x){
val=x;}
}
public ListNode reverseList(ListNode head){
if(head==null) return head;
ListNode curr=head,pre=null,tmp=null;
while(curr!=null){
tmp=curr.next;
curr.next=pre;
pre=curr;
curr=tmp;
}
return pre;
}
}