Reverse a doubly linked list

  • + 0 comments

    Solution in C++:

    DoublyLinkedListNode* reverse(DoublyLinkedListNode* llist) {
        if (llist == nullptr) {
            return llist;
        }
        
        std::swap(llist->next, llist->prev);
        while (llist->prev != nullptr) {
            llist = llist->prev;
            std::swap(llist->next, llist->prev);
        }
        
        return llist;
    }