描述:
Sort a linked list using insertion sort.
URL
https://leetcode.com/problems/insertion-sort-list/description/
解释
因为我们的链表是单项的,所以每一次是从头节点向后查找要插入的位置,然后当前节点插入指定位置。
代码
class Solution {
public ListNode insertionSortList(ListNode head) {
ListNode ph = new ListNode(0);
ListNode p = ph;
ListNode cur = head,next;
while(cur!=null) {
while (p.next != null && p.next.val < cur.val) {
p = p.next;
}
next = cur.next;
cur.next = p.next;
p.next = cur;
cur = next;
p = ph;
}
return ph.next;
}
}