题意:
反转一个二叉树
递归:
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
//如果是NULL,则返回本身
if(root == NULL) return root;
//如果左右其中有一个是非空的,则交换左右
if (root->left != NULL || root->right != NULL) {
root->left = invertTree(root->left);//递归,交换下面的
root->right = invertTree(root->right);
TreeNode* temp = root->left; //temp是用于暂时记录位置的
root->left = root->right;
root->right = temp;
}
return root;
}
};