leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0147.cpp (634B)


0 class Solution {
1 public:
2 ListNode *insertionSortList(ListNode *head) const {
3 ListNode dummy(-1, head);
4 ListNode *prev = &dummy, *crnt = head;
6 for (; crnt; prev = crnt, crnt = crnt->next) {
7 if (prev->val <= crnt->val) continue;
8 for (ListNode *p = &dummy, *c = dummy.next; p != prev; p = c, c = c->next) {
9 if (c->val <= crnt->val) continue;
10 prev->next = crnt->next;
11 crnt->next = p->next;
12 p->next = crnt;
13 crnt = prev;
14 break;
15 }
16 }
18 return dummy.next;
19 }
20 };