✏️ 纠错
第 189 题 / 共 226 题
第13 题 下面代码实现⼀个⼆叉排序树的插入函数(没有相同的数值),横线处应填入( )。
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
void insert(TreeNode*& root, int key) {
if (!root) {
root = new TreeNode(key);
return;
}
____________
}你真棒!
📝 题目解析
【答案】A
【考纲知识点】树的知识
【详细解析】二叉排序树插入一个元素的过程是首先比较待插入的节点值与当前节点的值,如果待插入的节点值小于当前节点的值,则将待插入的节点插入到当前节点的左子树中;如果待插入的节点值大于当前节点的值,则将待插入的节点插入到当前节点的右子树中。若当前节点的左子树或右子树为空,则直接将待插入的节点作为当前节点的左孩子或右孩子。选项A的描述与上述插入过程相符。
【考纲知识点】树的知识
【详细解析】二叉排序树插入一个元素的过程是首先比较待插入的节点值与当前节点的值,如果待插入的节点值小于当前节点的值,则将待插入的节点插入到当前节点的左子树中;如果待插入的节点值大于当前节点的值,则将待插入的节点插入到当前节点的右子树中。若当前节点的左子树或右子树为空,则直接将待插入的节点作为当前节点的左孩子或右孩子。选项A的描述与上述插入过程相符。