题解 | 链表的插入排序
链表的插入排序
https://www.nowcoder.com/practice/152bc6c5b14149e49bf5d8c46f53152b
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode insertionSortList (ListNode head) {
// write code here
if(null==head||null==head.next){
return head;
}
ListNode dummy=new ListNode(0);
ListNode curr=head;
while(curr!=null){
ListNode nextTemp=curr.next;
ListNode prev=dummy;
ListNode sourtedCurr=dummy.next;
while(sourtedCurr!=null&&sourtedCurr.val<curr.val){
prev=sourtedCurr;
sourtedCurr=sourtedCurr.next;
}
curr.next=sourtedCurr;
prev.next=curr;
curr=nextTemp;
}
return dummy.next;
}
}
