我试图从链接列表中删除给定的节点。我不知道为什么我的代码无法正常工作。任何提示? 所以我有[11,21,31,41],他们都在问我,在指数2在这种情况下,31删除节点到目前为止,我有这样的:从链接列表中删除节点
public void delete (int k) {
//[ 11 21 31 41 ].delete(2): expected=[ 11 21 41 ]
if (k < 0 || k >= N) throw new IllegalArgumentException();
for(Node x = first; x != null; x = x.next) {
//deletes node
if(x.item == k){
x = x.next;
}
if(x.item <= k){
x = x.next.next;
}
}
}
谁能告诉我,请为什么这不工作?谢谢
的就是你得到的错误?或者它只是不去除元素。 – denis
它根本不会删除元素... – Hello
您需要将您的前一个节点的下一个设置为要删除的节点的下一个(假设为单个链接列表) – Zarwan