• + 0 comments

    My Java 8 Solution

    public static DoublyLinkedListNode reverse(DoublyLinkedListNode llist) {
            DoublyLinkedListNode reversedList = null, current = llist;
            
            while (current != null) {
                DoublyLinkedListNode temp = new DoublyLinkedListNode(current.data);
                
                if (reversedList == null) {
                    reversedList = temp;
                } else {
                    temp.next = reversedList;
                    reversedList.prev = temp;
                    reversedList = reversedList.prev;
                }
                current = current.next;
            }
            
            return reversedList;
        }