ソート済みリンクリスト{0 1 2 2 3 3 4 5}から重複を削除します。Javaはリンクリストから重複を削除します
`
public Node removeDuplicates(Node header)
{
Node tempHeader = null;
if(header != null)
tempHeader = header.next;
else return header;
Node prev = header;
if((tempHeader == null)) return header ;
while(tempHeader != null)
{
if(tempHeader.data != prev.data)
{
prev.setNext(tempHeader);
}
tempHeader = tempHeader.next;
}
prev = header;
printList(prev);
return tempHeader;
}
`
prev.setNext(tempHeader)は、whileループ内で正常に動作していません。理想的には、prev = 2かつtempHeader = 3のとき、prev.nextはデータ= 3のノードでなければなりません。
Printlist関数はヘッダポインタをとり、リストを出力します。
ノードの定義を以下に示します。
public class Node
{
int data;
Node next;
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
この宿題ですか?その場合は、[宿題]タグでタグ付けしてください。 –
この宿題は何ですか?また、java.util。* –
を使用しない理由はありません。これは宿題ではありません。スタンフォードのウェブサイトに18のリンクされたリストの問題があり、そのうちの1つがremoveDuplicateプログラムであるPDFが見つかりました。ここにリンクがあります。 http://cslibrary.stanford.edu/105/LinkedListProblems.pdf – Junaid