我有一个n叉树,节点的结构如下:
class Node
{
public Node Parent = null;
public List<Node> Children = new List<Node>();
public string Name;
}
我需要对原树进行深拷贝,并避免在更改原树时影响新树。我只知道如何进行浅拷贝:
public Node Copy(Node original)
{
Node newNode = new Node();
newNode.Parent = original.Parent;
newNode.Children = original.Children;
newNode.Name = original.Name;
return newNode;
}
在这种情况下,我将复制两个节点指向内存中的一个对象,当原始节点发生更改时,新节点也会发生更改。有人可以帮助我进行深度克隆吗?