struct TreeNode *insertIntoBST(struct TreeNode *root, int val)
{
if (root == NULL)
{
struct TreeNode *new_val = malloc(sizeof(struct TreeNode));
new_val->val = val;
new_val->left = new_val->right = NULL;
return new_val;
}
else
{
if (root->val >= val)
root->left = insertIntoBST(root->left, val);
else
root->right = insertIntoBST(root->right, val);
}
return root;
}