测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A30376. 二叉搜索树中的每个结点,其左子树的所有结点值都小于该结点值,右子树的所有结点值都大于该结点值。以下代码对给定的整数数组(假设数组中没有数值相等的元素),构造一个对应的二叉搜索树,横线上应填写( ):// 定义二叉树的结点结构struct tree_node { int val; tree_node* left; tree_node* right; tree_node(int x) : val(x…

单选题 困难

题目描述

二叉搜索树中的每个结点,其左子树的所有结点值都小于该结点值,右子树的所有结点值都大于该结点值。以下代码对给定的整数数组(假设数组中没有数值相等的元素),构造一个对应的二叉搜索树,横线上应填写(    ):


// 定义二叉树的结点结构

struct tree_node {

int val;

tree_node* left;

tree_node* right;

tree_node(int x) : val(x), left(nullptr), right(nullptr) {

}

};

// 插入结点到二叉搜索树中

tree_node* insert(tree_node* root, int val) {

if (root == nullptr) {

return new tree_node(val);

}

______________________// 在此处填入代码

return root;

}

// 根据给定数组构造二叉搜索树

tree_node* constructBST(const int arr[], int size) {

tree_node* root = nullptr;

for (int i = 0; i < size; ++i) {

root = insert(root, arr[i]);

}

return root;

}

选项(单选)

上一题 下一题