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; 4 5 for (int lvl = 2; crnt; lvl++) { 6 ListNode *bg = prev; 7 8 int size = 0; 9 while (crnt && size < lvl) { 10 prev = crnt; 11 crnt = crnt->next; 12 size++; 13 } 14 15 if (size % 2) continue; 16 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 } 29 30 return head; 31 } 32 };