147. Insertion Sort List

来源:互联网 发布:centos web 编辑:程序博客网 时间:2024/04/19 06:26

Sort a linked list using insertion sort.

Solution1

public static ListNode insertionSortList(ListNode head) {if( head == null ){            return head;        }        ListNode dummy = new ListNode(0); //new starter of the sorted list        ListNode cur = head; //the node will be inserted        ListNode pre = dummy; //insert node between pre and pre.next        ListNode next = null; //the next node will be inserted        //not the end of input list        while( cur != null ){            next = cur.next;            //find the right place to insert            while( pre.next != null && pre.next.val < cur.val ){                pre = pre.next;            }            //insert between pre and pre.next            cur.next = pre.next;            pre.next = cur;            pre = dummy;            cur = next;        }        return dummy.next;    }


0 0
原创粉丝点击