「RemoveAll」クラスは Linked List クラスの一部です。私が書いたクラスは、Linked List からすべてのキーを削除しますが、重複したキーは削除しません。
理由を知っている人はいますか?重複したキーも削除するにはどうすればよいですか?
public class LinkedIntList {
private ListNode front;
private String name = "front";
// Constructs an empty list.
public LinkedIntList() {
front = null;
}
public void removeAll(int key){
if(front == null){
throw new RuntimeException();
}else if( front.data == (key)) {
front = front.next;
return;
}
ListNode cur = front;
ListNode prev = null;
while(cur != null && cur.data != (key) ){
prev = cur;
cur = cur.next;
}
if(cur == null)
throw new RuntimeException();
prev.next = cur.next;
}