‹ 上一题 下一题 ›

g6-05060. GESP-6级-2025-09-单选-第14题 未做

删除二叉排序树中的节点时,如果节点有两个孩子,则横线处应填入(),其中 findMax 和 findMin 分别为寻找树的最大值和最小值的函数。

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
};

TreeNode* deleteNode(TreeNode* root, int key) {
    if (!root) return nullptr;
    if (key < root->val) {
        root->left = deleteNode(root->left, key);
    } else if (key > root->val) {
        root->right = deleteNode(root->right, key);
    } else {
        if (!root->left) return root->right;
        if (!root->right) return root->left;
        TreeNode* temp = ____________; // 在此处填写代码
        root->val = temp->val;
        root->right = deleteNode(root->right, temp->val);
    }
    return root;
}
  • A. root->left
  • B. root->right
  • C. findMin(root->right)
  • D. findMax(root->left)
未选择
输入
输出

            
答案