leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
2487.cpp (658B)
0 class Solution { 1 ListNode *rev(ListNode *list) { 2 ListNode *prev = nullptr, *next; 3 while (list) { 4 next = list->next; 5 list->next = prev; 6 prev = list; 7 list = next; 8 } 9 return prev; 10 } 11 12 public: 13 ListNode *removeNodes(ListNode *head) { 14 ListNode dummy(-1, rev(head)); 15 int maxi = -1; 16 for (ListNode *crnt = &dummy; crnt && crnt->next; crnt = crnt->next) { 17 maxi = max(maxi, crnt->val); 18 while (crnt->next && crnt->next->val < maxi) 19 crnt->next = crnt->next->next; 20 } 21 return rev(dummy.next); 22 } 23 };