Java 双链接列表并删除
我正在处理双链接列表,我必须创建的方法之一是remove方法,它从列表中删除targetData的所有实例,我必须通过对列表执行单个遍历来删除元素。然而,我的方法并没有删除所有实例,我也不知道为什么 这是我的方法使用递归:Java 双链接列表并删除,java,Java,我正在处理双链接列表,我必须创建的方法之一是remove方法,它从列表中删除targetData的所有实例,我必须通过对列表执行单个遍历来删除元素。然而,我的方法并没有删除所有实例,我也不知道为什么 这是我的方法使用递归: removeNode(node); { if(node.next==null){ node.pre=null; node=null; }else{ removeNode(node.next); n
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请提及所有有问题的条件,在我们提供解决方案后不要提及。这对你来说并不复杂,但如果线程启动者清楚,他就不必问了。