贴原题:
解析:
本题是让返回一个二叉树的镜像,即翻转一个二叉树。
那么依旧是递归实现。
贴代码:
/**
* 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 *temp_root;//交换左右子树
temp_root = root->left;
root->left = root->right;
root->right = temp_root;
invertTree(root->left);//递归,继续交换该子树的左右子树
invertTree(root->right);
return root;
}