在Python中创建n叉树的复制程序
假设我们已经提供了一棵n叉树,其根节点是’root’。我们必须创建一份完整的n叉二叉树的副本,并对两棵树都执行先序遍历。副本树必须使用另一个根节点存储。树的节点结构如下-。
因此,如果输入是这样的
,则输出将是
输入树和输出树的先序表示将相同,因为已经创建了树的精确副本。
为解决这个问题,我们将按照以下步骤操作-
- 如果root不为空,则
- 返回root
- 让head是一个带有root值的新节点
- q是一个包含元素root和head的新deque
- 当q不为空时,执行以下操作
- 从q中弹出第一个元素作为node
- 从q中弹出第一个元素,将其称为cloned
- 对于每个chld在node.children中,执行以下操作
- new_n是一个包含chld值的新节点
- 将new_n添加到克隆的子节点中
- 将chld和new_n插入在q的末尾
- 返回head
Python示例
让我们查看以下实现以更好地理解-