package LeetCode;
//题目描述
//Sort a linked list using insertion sort.
import java.util.*;
public class insertionSortList {
public static void main(String[] args) {
ListNode a=new ListNode(2);
ListNode b=new ListNode(4);
ListNode c=new ListNode(1);
a.next=b;
b.next=c;
ListNode re= insertSortList(a);
System.out.println(re.val);
System.out.println(re.next.val);
}
public static ListNode insertSortList(ListNode head) {
if(head==null) {
return head;
}
ListNode min_val= new ListNode(Integer.MIN_VALUE);
ListNode cnt=head;
while(cnt!=null) {
ListNode p_pre=min_val;
ListNode pre=min_val;
ListNode cnt_next=cnt.next;
while((pre!=null)&&(cnt.val>pre.val)) {
p_pre=pre;
pre=pre.next;
}
cnt.next=p_pre.next;
p_pre.next=cnt;
cnt=cnt_next;
}
return min_val.next;
}
}