双向链表的Addback方法

时间:2014-02-08 02:20:24

标签: java doubly-linked-list

我意识到这应该是一个非常简单的实现方法,我不知道为什么这段代码不起作用。

我在NullPointerException获得tail.next = node。如果没有注释掉,它就不会通过测试仪。

public void addBack (int x)
{
    IntegerNode node = new IntegerNode(x,null);
    if (head == null)
        head = node;
    else{
        node.prev = tail;
        //tail.next = node;
        tail = node;

    }

    count++;
}

1 个答案:

答案 0 :(得分:0)

当列表为空时,将头部和尾部设置为新元素。之后应该没问题,虽然更多的空检查很少是一个坏主意。

if (head == null) {
    head = node;
    tail = node;
} else {
    node.prev = tail;
    tail.next = null; // Did you really mean tail.next = node?  This looks more likely..
    tail = node;
}