牛客网二叉树镜像
递归实现
当然这样时间复杂度会高一些,也可以用swap()直接交换,不过只要理解了交换的步骤,怎么优化也就不是问题了。
PS:swap虽然支持整形的形参,但是要想交换一定得用指针
class Solution {
public:
void Mirror(TreeNode *pRoot)
{
if(pRoot)
{
TreeNode* p=pRoot->left;
TreeNode* q=pRoot->right;
pRoot->left=q;
pRoot->right=p;
Mirror(pRoot->left);
Mirror(pRoot->right);
}
}
};