#include <stdio.h>
typedef struct Node{
int val;
struct Node *left;
struct Node *right;
}Node;
void *createNode(int x){
Node *newnode;
newnode
=(Node
*)malloc(sizeof(Node
)); newnode->val=x;
newnode->left=NULL;
newnode->right=NULL;
return newnode;
}
void printTree(Node *node){
if(node == NULL){
return;
}
printTree(node->left);
printTree(node->right);
}
int main(void) {
Node *root;
Node *a;
Node *b;
root=createNode(10);
a=createNode(5);
b=createNode(20);
root->left=a;
root->right=b;
printTree(root);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCBOb2RlewoJaW50IHZhbDsKCXN0cnVjdCBOb2RlICpsZWZ0OwoJc3RydWN0IE5vZGUgKnJpZ2h0Owp9Tm9kZTsKdm9pZCAqY3JlYXRlTm9kZShpbnQgeCl7CglOb2RlICpuZXdub2RlOwoJbmV3bm9kZT0oTm9kZSopbWFsbG9jKHNpemVvZihOb2RlKSk7CgluZXdub2RlLT52YWw9eDsKCW5ld25vZGUtPmxlZnQ9TlVMTDsKCW5ld25vZGUtPnJpZ2h0PU5VTEw7CglyZXR1cm4gbmV3bm9kZTsKfQp2b2lkIHByaW50VHJlZShOb2RlICpub2RlKXsKCiAgICBpZihub2RlID09IE5VTEwpewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBwcmludGYoIiVkXG4iLCBub2RlLT52YWwpOwoKICAgIHByaW50VHJlZShub2RlLT5sZWZ0KTsKCiAgICBwcmludFRyZWUobm9kZS0+cmlnaHQpOwp9CmludCBtYWluKHZvaWQpIHsKCU5vZGUgKnJvb3Q7CglOb2RlICphOwoJTm9kZSAqYjsKCXJvb3Q9Y3JlYXRlTm9kZSgxMCk7CglhPWNyZWF0ZU5vZGUoNSk7CgliPWNyZWF0ZU5vZGUoMjApOwoJcm9vdC0+bGVmdD1hOwoJcm9vdC0+cmlnaHQ9YjsKCXByaW50VHJlZShyb290KTsKCXJldHVybiAwOwp9Cg==