我正在remove用 C++ 实现二叉搜索树的方法。在一种情况下,我确信这棵树node只有一个孩子:node->left或者node->right我需要修改它的父母以指向那个孩子。正如我之前提到的node->leftand node->rightare之一NULL。这是一个片段:
} else { // One children
if (node->parent->left == node) {
node->parent->left = node->left | node->right;
node->parent->left->parent = node->parent;
} else {
node->parent->right = node->left | node->right;
node->parent->right->parent = node->parent;
}
}
不幸的是,编译器返回一个错误。我知道这可能不是优雅的,但我只是好奇怎么做。