/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * @author Senky
 * @date 2023.08.01
 * @par url https://www.nowcoder.com/creation/manager/content/584337070?type=column&status=-1
 * @brief 做了这么多的递归,条件反射就是递归交换树的左右指针
 * 
 * @param pRoot TreeNode类 
 * @return TreeNode类
 */
struct TreeNode* Mirror(struct TreeNode* pRoot ) {
    // write code here
    if(NULL == pRoot)
    {
        return pRoot;
    }

    struct TreeNode* temp = pRoot->left;
    pRoot->left = pRoot->right;
    pRoot->right= temp;

    Mirror(pRoot->left);
    Mirror(pRoot->right);
    
    return pRoot;

}