题目来源
题目描述
解答
class Solution {
public ListNode insertionSortList(ListNode head) {
if(head==null){
return null;
}
ListNode newHead=new ListNode(-1);
newHead.next=head;
ListNode newTail=head,cur=head.next;
while(cur!=null){
if(newTail.val<=cur.val){
newTail=newTail.next;
}else{
ListNode prev=newHead;
while(prev.next.val<=cur.val){
prev=prev.next;
}
newTail.next=cur.next;
cur.next=prev.next;
prev.next=cur;
}
cur=newTail.next;
}
return newHead.next;
}
}
时间复杂度O(N^2)