Java 从双链表中删除索引处
如果有帮助的话,这是课程的开始。我正在尝试编写一个方法,从双链接列表中的特定索引中删除一个元素。我不确定我是否走在正确的道路上,但这就是我所做的,我在以下位置得到了一个NullPointerException: prevNode.next=nextNodeJava 从双链表中删除索引处,java,doubly-linked-list,Java,Doubly Linked List,如果有帮助的话,这是课程的开始。我正在尝试编写一个方法,从双链接列表中的特定索引中删除一个元素。我不确定我是否走在正确的道路上,但这就是我所做的,我在以下位置得到了一个NullPointerException: prevNode.next=nextNode public class DoublyLinkedList { Node start; Node end; int length; public DoublyLinkedList() { this.start
public class DoublyLinkedList {
Node start;
Node end;
int length;
public DoublyLinkedList() {
this.start = null;
this.end = null;
this.length = 0;
}
public void removeAtIndex(int index) {
Node currentNode = start;
for (int i = 0; i < index; i++) {
if (index < 0 || index > length) {
System.out.println("The index is out of bounds");
return;
} else if (currentNode == null) {
System.out.println("The list is empty");
return;
} else if (i == index - 1) {
Node nextNode = currentNode.next;
Node prevNode = currentNode.prev;
prevNode.next = nextNode;
nextNode.prev = prevNode;
return;
}
currentNode = currentNode.next;
}
}
公共类双链接列表{
节点启动;
节点端;
整数长度;
公共双链接列表(){
this.start=null;
this.end=null;
这个长度=0;
}
公共无效删除索引(整数索引){
节点当前节点=开始;
对于(int i=0;i长度){
System.out.println(“索引超出范围”);
返回;
}else if(currentNode==null){
System.out.println(“列表为空”);
返回;
}else if(i==索引-1){
Node nextNode=currentNode.next;
节点prevNode=currentNode.prev;
prevNode.next=nextNode;
nextNode.prev=prevNode;
返回;
}
currentNode=currentNode.next;
}
}
对于您的流,它返回null,因为currentNode最初为null。让我们看看你的代码。(我猜你已经开始编程了,右边:p)
再一次,检查您的代码并澄清您的想法。许多返回都不是很好。您的完整代码在哪里?我有一个类似的问题,您认为您可以帮助我解决吗。我一直在互联网上到处搜索,通过我的书,但我一无所获。