Insert Node at end of doubly linked list

Viewed 91

I am trying to insert a node at the end of doubly linked list but when I run the add method, the code never finishes running. Here is the code below:

public class DoublyLinkedList<T> {
    static class Node<T> {
        T data;
        Node<T> next;
        Node<T> previous;
        
        Node() {
            data = null;
            next = null;
            previous = null;
        }
        
        Node(T value) {
            data = value;
            next = null;
            previous = null;
        }
    }
    
    private Node<T> head;
    private int size;
        
    public DoublyLinkedList() {
        head = null;
    }
    
    public DoublyLinkedList(T value) {
        head = new Node<T>(value);
        size ++;
    }

    public void add(T value) {
        Node<T> append = new Node<T>(value);
        append.next = null;
        if(head == null) {
            append.previous = null;
            head = append;
            size ++;
            return;
        }
        Node current = head;
        while(current.next != null) {
            current = current.next;
        }
        current.next = append;
        append.previous = current;
        size ++;
    }

I pretty sure the line that says current.next = append is the problem, but I am not sure how to fix it. What am I doing wrong?

0 Answers
Related