leetcode

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

2074.cpp (798B)


0 class Solution {
1 public:
2 ListNode *reverseEvenLengthGroups(ListNode *head) {
3 ListNode *prev = head, *crnt = head->next;
5 for (int lvl = 2; crnt; lvl++) {
6 ListNode *bg = prev;
8 int size = 0;
9 while (crnt && size < lvl) {
10 prev = crnt;
11 crnt = crnt->next;
12 size++;
13 }
15 if (size % 2) continue;
17 crnt = bg->next;
18 ListNode *last = crnt, *first = crnt, *tmp;
19 while (size--) {
20 tmp = crnt;
21 crnt = crnt->next;
22 tmp->next = last;
23 last = tmp;
24 }
25 bg->next = last;
26 first->next = crnt;
27 prev = first;
28 }
30 return head;
31 }
32 };