"Sort a linked list using insertion sort."
3 -> 1 -> 12 -> 6dummy(0) -> null
dummy(0) -> 3 -> null
dummy(0) -> 1 -> 3 -> null
dummy(0) -> 1 -> 3 -> 12 -> null
dummy(0) -> 1 -> 3 -> 6 -> 12 -> null
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}
public class InsertionSort {
public ListNode insertionSortList(ListNode head) {
if (head == null)
return null;
ListNode dummy = new ListNode(0);
while (head != null)
{
ListNode node = dummy;
while (node.next != null && node.next.val < head.val)
node = node.next;
ListNode tmp = head.next;
head.next = node.next;
node.next = head;
head = tmp;
}
return dummy.next;
}
}
No comments:
Post a Comment