私が把握できなかった就職の面接で、次の質問をしました。 同じ注文を維持するリンクリストのディープコピーを作成する方法
class Node {
int value;
Node next; // points to next element in list
Node random; // points to one random element of list
}
は、あなたがこれらのノード(20のノードと言う)次の要素に「次」のポイントと他のものに「ランダム」のポイントのリンクリストを持って言う:あなたは、次のノード要素のリンクリストを与えています(つまり、リスト内の特定であるがランダムに選択された要素の1つを指すことができる)。つまり、第1要素の「ランダム」はノード#5を指し、ノード第2要素のランダム点はノード#9を指します。
質問:新しいリンクリストを作成するにはどうすればよいですか?このノードのリストは、 "ランダム"と "次の"の両方に対して同じ順序と同じリンケージを維持しますか?
つまり、これらの2つのポインタのいずれかを使用してこの新しいリストをトラバースすると、トラバーサルの順序は同じになります。
他のトピックでは、デフォルトのクローンを介して同じポインタをクローンしていますが、それはこの問題に対処できません。
が重複する可能性をコンテンツ?](https://stackoverflow.com/questions/715650/how-to-clone-arraylist-and-also-clon e-its-contents) – Tavo