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 }
原文:http://www.cnblogs.com/FLAGyuri/p/5789615.html