typedef struct TreeNode TreeNode;
struct TreeNode* mirrorTree(struct TreeNode* root){
// recursion resolution
if (root == NULL) return NULL;
TreeNode *temp = root->left;
root->left = mirrorTree(root->right);
root->right = mirrorTree(temp);
return root;
}