Insertion Sort List

Sort a linked list using insertion sort.

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 public class Solution {
10     public ListNode insertionSortList(ListNode head) {
11         ListNode dummy = new ListNode(0);
12         while (head != null) {
13             ListNode node = dummy;
14             while (node.next != null && node.next.val < head.val) {
15                 node = node.next;
16             }
17             ListNode temp = head.next;
18             head.next = node.next;
19             node.next = head;
20             head = temp;
21         }
22         return dummy.next;
23     }
24 }

 

posted @ 2016-08-20 08:59  YuriFLAG  阅读(109)  评论(0)    收藏  举报