• + 0 comments

    reverse in place:

    DoublyLinkedListNode* reverse(DoublyLinkedListNode* llist) {
        DoublyLinkedListNode* cur = llist;
        DoublyLinkedListNode* rev = NULL;
        
        while(cur) {
            DoublyLinkedListNode* next = cur->next;
            cur->next = rev;
            rev = cur;
            cur = next;
            rev->prev = cur;
        }
        
        return rev;
    }