[LeetCode]226. Invert Binary Tree(反转二叉树)
2017-03-23 01:15
435 查看
226. Invert Binary Tree
Invert a binary tree.反转二叉树4 / \ 2 7 / \ / \ 1 3 6 9
to
4 / \ 7 2 / \ / \ 9 6 3 1
用递归,交换各个节点的左右节点
代码如下:
C++ /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* invertTree(TreeNode* root) { if (root == NULL) return NULL; TreeNode* temp = root->left; root->left = root->right; root->right = temp; invertTree(root->left); invertTree(root->right); return root; } };
当然,非递归更好,查阅了一些非递归方法,讲解很详细
链接1 http://www.2cto.com/kf/201506/410311.html
链接2 http://blog.csdn.net/booirror/article/details/46496719
相关文章推荐
- ※ Leetcode - Tree - 226. Invert Binary Tree(反转二叉树 使用二级指针交换两个指针的地址)
- LeetCode226:Invert Binary Tree 二叉树反转
- LeetCode 226. Invert Binary Tree(反转二叉树)
- leetcode 226. Invert Binary Tree 反转二叉树 + DFS深度优先搜索
- Leetcode 226: Invert Binary Tree(二叉树反转 递归、非递归实现)
- Leetcode 226 Invert Binary Tree 反转二叉树
- 【LeetCode-面试算法经典-Java实现】【226-Invert Binary Tree(反转二叉树)】
- LeetCode 226 Invert Binary Tree(转换二叉树)
- leetcode 226 Invert Binary Tree 翻转二叉树
- leetcode-226. Invert Binary Tree 二叉树、递归,交换两个变量的值
- 【二叉树】二叉树反转【Add to List 226. Invert Binary Tree】
- leetcode 226 Invert Binary Tree 翻转二叉树
- leetcode 226 Invert Binary Tree 翻转二叉树
- LeetCode 226 Invert Binary Tree(翻转二叉树)
- 【LeetCode】 Invert Binary Tree(二叉树反转 递归、非递归实现)
- Leetcode 226 Invert Binary Tree 二叉树
- leetcode 226. Invert Binary Tree(C语言,二叉树,递归)54
- LeetCode--Invert Binary Tree (反转二叉树)Python
- 226.leetcode Invert Binary Tree(easy)[二叉树 递归]
- 【LeetCode】226. Invert Binary Tree 二叉树翻转