underwindfall / Algorithme

练习总结算法的地方
https://qifanyang.com/resume
1 stars 0 forks source link

InsertionSortList147 #321

Open underwindfall opened 2 years ago

underwindfall commented 2 years ago
 // time O(n^2)
    // space O(1)
    public ListNode insertionSortList(ListNode head) {
        ListNode dummy = new ListNode();
        dummy.next = head;
        ListNode curr = head;
        ListNode prev = null;
        ListNode temp = null;
        while (curr.next != null) {
            if (curr.val <= curr.next.val) {
                curr = curr.next;
            } else {
                temp = curr.next;
                curr.next = curr.next.next;
                prev = dummy;
                while (prev.next.val <= temp.val) {
                    prev = prev.next;
                }
                temp.next = prev.next;
                prev.next = temp;
            }
        }
        return dummy.next;
    }