镜像二叉树,其实就是对二叉树的后序遍历+交换左右子节点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Solution {
public:
void swap(TreeNode & left, TreeNode *& right)
{
TreeNode * tmp = left;
left = right;
right = tmp;
}
TreeNode * invertTree(TreeNode* root) {
if (root == NULL)
return NULL;
if (root->left != NULL)
invertTree(root->left);
if (root->right != NULL)
invertTree(root->right);
swap(root->left, root->right);
return root;
}
};
|