1:树为空,返回空
2:将树根赋给p指针,转置p的左右子树
3:迭代,对p的左右子树执行相同的操作
4:返回树根节点
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
struct TreeNode* invertTree(struct TreeNode* root) {
if(root==NULL)return NULL;
struct TreeNode*p=root;
struct TreeNode*temp;
temp=p->left;
p->left=root->right;
p->right=temp;
invertTree(p->left);
invertTree(p->right);
return root;
}