我正在研究一个将节点附加到链表末尾的项目。但是,我无法在列表中两次添加相同的节点,并且无法像以前自然增加节点一样添加相同的节点,也不会收到消息指出该节点已经存在。这是代码
public int append(int item) {
ItemNode node = new ItemNode(item);
if (this.empty()) {
first = node;
last = node;
nbNodes++;
} else if (node == findNode(item)) {
System.out.println("Node already exists");
} else {
last.next = node;
last = node;
nbNodes++;
}
return nbNodes;
}
private ItemNode findNode(int key) {
if (this.empty()) {
return null;
} else {
ItemNode current = this.first;
while (current.item != key) {
if (current.next == null) {
return null;
} else {
current = current.next;
}
}
return current;
}
}