自顶向下交换左右结点
class Solution {
public:
    void reverse(TreeNode* p){
        if(!p){
            return;
        }
        if(p->left || p->right){
            TreeNode* temp;
            temp=p->left;
            p->left=p->right;
            p->right=temp;
        }
    }
    TreeNode* Mirror(TreeNode* pRoot) {
        // write code here
        if(!pRoot){
            return NULL;
        }
        reverse(pRoot);
        Mirror(pRoot->left);
        Mirror(pRoot->right);
        return pRoot;
    }
};