Java 双链接列表并删除

Java 双链接列表并删除,java,Java,我正在处理双链接列表,我必须创建的方法之一是remove方法,它从列表中删除targetData的所有实例,我必须通过对列表执行单个遍历来删除元素。然而,我的方法并没有删除所有实例,我也不知道为什么 这是我的方法使用递归: removeNode(node); { if(node.next==null){ node.pre=null; node=null; }else{ removeNode(node.next); n

我正在处理双链接列表,我必须创建的方法之一是remove方法,它从列表中删除targetData的所有实例,我必须通过对列表执行单个遍历来删除元素。然而,我的方法并没有删除所有实例,我也不知道为什么 这是我的方法

使用递归:

removeNode(node);
{
    if(node.next==null){
        node.pre=null;
        node=null;
    }else{
        removeNode(node.next);
        node.next=null;
        node.pre=null;
        node=null;
    }
}

我想这是一个家庭作业?(否则,您应该只使用一个容器类…)嗯,使用双链接列表的一个非常方便的“技巧”是初始化列表,使其始终包含一个“虚拟”条目,该条目最初链接到自身。在遍历过程中,这个伪条目或锚条目总是被忽略,当然不能被删除。这给您带来的好处是“插入或删除节点的代码总是相同的,因为总是至少有一个节点(虚拟节点…)在列表中。我不允许使用递归@DipakPrajapati@Robert这段代码中没有什么复杂的东西需要解释。haylu请提及所有有问题的条件,在我们提供解决方案后不要提及。这对你来说并不复杂,但如果线程启动者清楚,他就不必问了。