我正在尝试删除给定索引处的Node,但是我一直在测试失败,有时甚至得到NullPointerException
。到目前为止,这是我所做的:
public void remove(int pos)
{
if (head == last)
{
head = null;
last = null;
}
if (pos == size - 1)
return removeLast();
if (pos == 0)
return removeFirst();
else
{
DoubleListNode<E> current = head;
for (int i = 0; i < pos - 1; i ++)
{
current = current.getNext();
}
current.setNext(current.getNext().getNext());
current.getNext().getNext().setPrev(current);
return current.getData();
}
}
答案 0 :(得分:0)
从双向链表中删除的步骤:
让要删除的节点为del。
请记住,这里您必须同时保持上一个和下一个指针 还可以从两侧处理空条件。