我看不到我的错误。我使用了一个插入方法将每个新元素按顺序添加的列表。我正在尝试不使用哈希表来处理这种情况。 我写了一个控制流程图,写在纸上,它似乎在这些媒体中有意义,但我无法得到我期待的结果。 我的列表:0,1,1,1,2,4,5,7 这是完全一样的我通过这种方法运行后:删除链接列表中的重复项
public class List {
int value;
List next;
List(int value, List next) {
this.value = value;
this.next = next;
}
}
public void deleteDuplicates() {
List marker = head;
List pointer = marker;
while(marker != null && marker.next != null){
while(pointer.next != null){
if(marker.value == pointer.next.value){
pointer.next = pointer.next.next;
}
else{
pointer = pointer.next;
}
}
marker = marker.next;
}
}
'next'和'value'看起来怪怪的。你做了你自己的列表课程吗?我很确定'LinkedList'中没有这些名字的字段。 – Gendarme
是的,这是为了学习它是如何工作的。与使用java提供的类相反,我使用了我自己的列表。值是列表中的元素,接下来是引用指针。 – Shaun
我想我们需要看看你的班级。提供[mcve]。 – Gendarme