我创建了一个二叉搜索树,我的二叉树的每个节点都设置在一个包含键的结构中,以及一个指向左右节点的指针。
在我的这个二叉搜索树的复制构造函数中,我调用了一个辅助方法来递归遍历看起来像这样的树:
Node* BinaryTree::copyHelper(const Node* other)
{
if(other == NULL)
{
return NULL; // If there's no Node to copy, return NULL.
}
Node* newNode = new Node;
if(newNode)
{
newNode->name = other->name;
newNode->left = copyHelper(other->left);
newNode->right = copyHelper(other->right);
}
return newNode;
}
我在标题中提到的错误是在上面最后一个 if 语句中的左右指针上。
如果有人能告诉我如何删除它,那将不胜感激。