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