# [226. Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/description/)
# 思路
翻转二叉树。    
递归算法的话很简单:
* 若为空树则返回空即可。
* 令左子树指向翻转后的右子树,将右子树指向翻转后的左子树。

非递归算法的话用先方向层序遍历(从右到左从上到下),然后再正常层序重新赋值即可。
# C++
``` C++
class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if(root == NULL) return NULL;
        TreeNode *tmp = root -> left;
        root -> left = invertTree(root -> right);
        root -> right = invertTree(tmp);
        return root;
    }
};
```