#include <iostream>
using namespace std;
struct TreeNode
{
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
TreeNode* insert(TreeNode *root, int val)
{
if(!root){
TreeNode *root = new TreeNode(val);
}
if(root->val > val || root->val == val)
insert(root->left, val);
if(root->val < val)
insert(root->right, val);
return root;
}
int main() {
TreeNode *root = new TreeNode(5);
insert(root, 10);
cout << root->val;
cout << root->left;
cout << root->right;
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFRyZWVOb2RlCnsKCWludCB2YWw7CglUcmVlTm9kZSAqbGVmdDsKCVRyZWVOb2RlICpyaWdodDsKCVRyZWVOb2RlKGludCB4KSA6IHZhbCh4KSwgbGVmdChOVUxMKSwgcmlnaHQoTlVMTCkge30KfTsKClRyZWVOb2RlKiBpbnNlcnQoVHJlZU5vZGUgKnJvb3QsIGludCB2YWwpCnsKCWlmKCFyb290KXsKCSAgICBUcmVlTm9kZSAqcm9vdCA9IG5ldyBUcmVlTm9kZSh2YWwpOwoJfQoJICAgIAoJaWYocm9vdC0+dmFsID4gdmFsIHx8IHJvb3QtPnZhbCA9PSB2YWwpCgkgICAgaW5zZXJ0KHJvb3QtPmxlZnQsIHZhbCk7CglpZihyb290LT52YWwgPCB2YWwpICAgIAoJICAgIGluc2VydChyb290LT5yaWdodCwgdmFsKTsKCglyZXR1cm4gcm9vdDsKfQoKaW50IG1haW4oKSB7CglUcmVlTm9kZSAqcm9vdCA9IG5ldyBUcmVlTm9kZSg1KTsKCWluc2VydChyb290LCAxMCk7CiAgICBjb3V0IDw8IHJvb3QtPnZhbDsKICAgIGNvdXQgPDwgcm9vdC0+bGVmdDsKICAgIGNvdXQgPDwgcm9vdC0+cmlnaHQ7CgkKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9