int Hash[1024];voidtransfer(structTreeNode* root){if(root){
Hash[root->val]=1;transfer(root->left);transfer(root->right);}}intnumColor(structTreeNode* root){int i, sum =0;memset(Hash,0,sizeof(Hash));transfer(root);for(i =1; i <=1000;++i){if(Hash[i])++sum;}return sum;}