使用递归的思路:每访问一个结点,就交换其左右树。
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {}
};
void Mirror(TreeNode* pRoot) {
if (pRoot == NULL)
return ;
struct TreeNode* t;
t = pRoot->left;
pRoot->left = pRoot->right;
pRoot->right = t;
Mirror(pRoot->left);
Mirror(pRoot->right);
}
京公网安备 11010502036488号