リンクされたリストでどのノードが削除されたかを知る方法のような質問に出くわしました。例:いくつかのノードを含むリンクリストと、任意のノードを削除してリストを返す関数に渡されたリンクリストがあります.どのノードが削除されたかを知る方法はありますか.
私の見解によると、リンクされたリストを渡す前に、リストの各ノードのすべてのアドレスを含む配列を維持する必要があり、削除された後、どのノードが削除されたかを調べて見つける必要があります。
最善の方法は何ですか。
元:
public class GetDeletedNode{
public static void main(String args[]){
LinkedList<String> ll = new LinkedList<String>();
ll.add("a");
ll.add("b");
ll.add("c");
ll.add("d");
ll = deleteArbitaryNode(ll);
//write code to get know which node got deleted.
//
//code goes here
for(String str:ll){
System.out.println(str);
}
}
private static LinkedList<String> deleteArbitaryNode(LinkedList<String> ll) {
//delete arbitary node
Random random = new Random();
ll.remove((int)((long)3*random.nextDouble()+1));
return ll;
}
}