使用插入排序方法排序列表

public class Main {
     public ListNode insertionSortList(ListNode head) {
       ListNode h=new ListNode(0);
       h.next=head;
       while(head!=null&&head.next!=null){
           if(head.val<=head.next.val){
               head=head.next;
           }else{
               ListNode next=head.next;
               head.next=head.next.next;
               ListNode pre=h;
               ListNode r=h.next;
               while(r.val < next.val){
                   pre=r;
                   r=r.next;
               }
               pre.next=next;
               next.next=r;
           }
       }
       return h.next;
     }
}

你可能感兴趣的:(算法)