leetcodeSolution 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 };