思路:递归遍历先判断结点是否为空,若不为空,则交换结点的左右孩子的值,交换后,再交换左右子树。
struct TreeNode* invertTree(struct TreeNode* root){
if(root == NULL)
return NULL;
struct TreeNode* left = invertTree(root->left);
struct TreeNode* right = invertTree(root->right);
//直接交换的是左右子树
root->left = right;
root->right = left;
return root;
}