diff --git a/226. Invert Binary Tree.md b/226. Invert Binary Tree.md new file mode 100644 index 0000000..3e336c3 --- /dev/null +++ b/226. Invert Binary Tree.md @@ -0,0 +1,21 @@ +# [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; + } +}; +```