/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pRoot TreeNode类 * @return TreeNode类 */ //方法:递归。递归结束条件是深度为0 //镜像就是把左子树和右子树对换 //也就是,不断地深入递归,即自上往下地将左右子树镜像 struct TreeNode* Mirror(struct TreeNode* pRoot ) { // write code here if(pRoot == NULL) { return NULL; } //镜像就是把左子树和右子树对换 struct TreeNode *temp,*pR = pRoot; //注意只有pR被赋值了 // struct TreeNode *temp; temp = pR->left; pR->left = pR->right; pR->right = temp; //也就是,不断地深入递归,即自上往下地将左右子树镜像 Mirror(pR->left ); Mirror(pR->right ); return pRoot; }