Node* invert(Node* root){
if(root){
Node* right = invert(root->left);
Node* left = invert(root->right);
root->left = left ;
root->right = right;
return root;
}
return NULL;
}
Node* invert_top_down(Node* root){
if(root){
Node* left = root->left;
root->left = root->right;
root->right = left;
invert_top_down(root->left);
invert_top_down(root->right);
return root;
}
return NULL;
}