编程思想:交换父亲结点的两个儿子结点
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
struct TreeNode* invertTree(struct TreeNode* root) {
if (root == NULL)
return root;
if (root->left==NULL && root->right==NULL)
return root;
struct TreeNode* temp = root->left;
root->left = root->right;
root->right = temp;
root->left = invertTree(root->left);
root->right = invertTree(root->right);
return root;
}