if (root->left == NULL || root->right == NULL) { // 只有一棵子树时,child 指向那棵唯一子树。 BSTNode *child = root->left != NULL ? root->left : root->right; free(root); // 父结点接回 child,等价于用唯一子树替代 root。 return child; }