#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
struct TreeNode{
int data;
TreeNode* left;
TreeNode* right;
};
struct TreeNode* newNode(int data)
{
struct TreeNode* node = (struct TreeNode*)malloc(sizeof(struct TreeNode));
node->data=data;
node->left=NULL;
node->right=NULL;
return node;
}
void deleteTree(TreeNode* root)
{
if(root==NULL) return;
deleteTree(root->left);
deleteTree(root->right);
free(root);
}
int main()
{
struct TreeNode* root=newNode(1);
root->left=newNode(2);
root->right=newNode(3);
deleteTree(root);
cout<<root->data<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBUcmVlTm9kZXsKCWludCBkYXRhOwoJVHJlZU5vZGUqIGxlZnQ7CglUcmVlTm9kZSogcmlnaHQ7Cn07CgpzdHJ1Y3QgVHJlZU5vZGUqIG5ld05vZGUoaW50IGRhdGEpCnsKCXN0cnVjdCBUcmVlTm9kZSogbm9kZSA9IChzdHJ1Y3QgVHJlZU5vZGUqKW1hbGxvYyhzaXplb2Yoc3RydWN0IFRyZWVOb2RlKSk7Cglub2RlLT5kYXRhPWRhdGE7Cglub2RlLT5sZWZ0PU5VTEw7Cglub2RlLT5yaWdodD1OVUxMOwoJcmV0dXJuIG5vZGU7Cn0KCnZvaWQgZGVsZXRlVHJlZShUcmVlTm9kZSogcm9vdCkKewoJaWYocm9vdD09TlVMTCkgcmV0dXJuOwoJCglkZWxldGVUcmVlKHJvb3QtPmxlZnQpOwoJZGVsZXRlVHJlZShyb290LT5yaWdodCk7CgkKCWZyZWUocm9vdCk7Cn0KCmludCBtYWluKCkKewoJc3RydWN0IFRyZWVOb2RlKiByb290PW5ld05vZGUoMSk7Cglyb290LT5sZWZ0PW5ld05vZGUoMik7Cglyb290LT5yaWdodD1uZXdOb2RlKDMpOwoJCglkZWxldGVUcmVlKHJvb3QpOwoJCgljb3V0PDxyb290LT5kYXRhPDxlbmRsOwoJCglyZXR1cm4gMDsKfQ==