基本上我已经了解了我想要做的事情,因为我通常在C ++中编程,很容易实现,不知道如何在Java中做到这一点。
我要做的是:在java中将Linked的指针保存在LinkedList中,并在O(1)中删除此特定节点。
如果是C ++,我会这样做(假设我没有尝试删除最后一个节点)
void RemoveNode(Node *node) {
node->data = node->next->data;
node->next = node->next->next;
}
我怎么能用Java做到这一点?
答案 0 :(得分:0)
LinkedList
之外的O(1)移除(除了明显的头部/尾部移除)只能通过ListIterator.remove()
实现,并且您必须通过它进行迭代。
您无法访问列表的内部结构,因此无法访问所有节点及其链接。