题目:Reverse a singly linked list.
分析:此题在于细节,处理链表长度为0、1、2长度的特殊情况
代码:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode reverseList(ListNode head) {
if(head==null){
return null;
}
ListNode left ,middle,right;
left=head;
middle=left.next;
if(middle==null){
return left;
}
right=middle.next;
left.next=null;
while(right!=null){
middle.next=left;
left=middle;
middle=right;
right=middle.next;
}
middle.next=left;
return middle;
}
}