// https://leetcode.com/problems/remove-duplicates-from-sorted-list/ #include struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x), next(nullptr) {} ListNode(int x, ListNode *next) : val(x), next(next) {} }; class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if (head == nullptr) return head; bool newSequence = false; int currentVal = head->val; ListNode* front = head->next; ListNode* rear = head; while (front != nullptr) { if (front->val != currentVal) { std::cout << "Previous value: " << currentVal << "; current value: " << front->val << '\n'; rear->next = front; currentVal = front->val; rear = front; } front = front->next; } rear->next = nullptr; return head; } };