leetCode練習(147)
阿新 • • 發佈:2019-01-04
題目:Insertion Sort List
難度:medium
問題描述:
使用插入排序對List進行排序
求解思路:
從左到右,依次將node插入到左邊已經排好的list中
程式碼如下:
public static ListNode insertionSortList(ListNode head) { if(head==null || head.next==null) return head; ListNode p = head.next; head.next = null; while(p!=null){ ListNode pnext = p.next; ListNode q = head; if(p.val<=q.val){ p.next = q; head = p; }else{ while(q!=null && q.next!=null && q.next.val<p.val){ q = q.next; } p.next = q.next; q.next = p; } p = pnext; } return head; }