Sort a linked list using insertion sort.
链表插入排序
public class Solution {
public ListNode insertionSortList(ListNode head) {
ListNode ret = new ListNode(-1);
ListNode cur = head;
ListNode pre = ret;
while(cur!=null){
ListNode tmp = cur;
cur=cur.next;
if(pre.next==null){
pre.next=tmp;
tmp.next=null;
pre=ret;
}else {
while(pre.next!=null&&pre.next.val<tmp.val){
pre=pre.next;
}
tmp.next=pre.next;
pre.next=tmp;
pre=ret;
}
}
return ret.next;
}
}