LeetCode题解:Invert Binary Tree
来源:互联网 发布:鲁班软件官网 编辑:程序博客网 时间:2024/06/03 17:14
题目链接:Invert Binary Tree
题目描述:
Invert a binary tree
4
/ \
2 7
/ \ / \
1 3 6 9
to
4
/ \
7 2
/ \ / \
9 6 3 1
题目解释:
有上面的题目内容我们已经知道了题目的要求:
给定一棵二叉树,交换去左子树和右子树,再交换其子节点的左子树和右子树,直到所有子树都交换完毕。
解题方案:
这个题目是个很初级的基于树的结构的题目,我们可以使用递归的思路,就跟题目解释中说到的那样:递归的交换根结点的左子树和右子树,直到走到了叶节点。
直接上代码吧:
/** * 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 root; //到叶节点就结束递归 } else //交换 左子树和右子树 { struct TreeNode* tmp; tmp = root->left; root->left = root->right; root->right = tmp; } //递归的交换子节点的左子树和右子树 root->left = invertTree(root->left); root->right = invertTree(root->right); }
这个题目还是考查一个递归的思想,我们要在潜意识里加强 递归 的 重视,很多情况采用递归方式可以得到很好的解决方案。
0 0
- LeetCode题解:Invert Binary Tree
- LeetCode题解:Invert Binary Tree
- LeetCode 题解(192) : Invert Binary Tree
- leetcode 226. Invert Binary Tree 题解
- Leetcode题解 226. Invert Binary Tree
- LeetCode题解-226-Invert Binary Tree
- LeetCode 226 Invert Binary Tree题解
- LeetCode Algorithms 226. Invert Binary Tree 题解
- LeetCode题解–226. Invert Binary Tree
- [leetcode] Invert Binary Tree
- [LeetCode]Invert Binary Tree
- leetcode:Invert Binary Tree
- LeetCode Invert Binary Tree
- LeetCode | Invert Binary Tree
- leetcode--Invert Binary Tree
- [leetcode] Invert Binary Tree
- [LeetCode] Invert Binary Tree
- LeetCode Invert Binary Tree
- 20150623_OC之Json格式的文件及URl解析
- 压测工具webbench源码分析
- c++ primer读书笔记-第七章 函数
- 动态规划之求序列里最长的非降序列
- Hibernate连接oracle数据库的简单例子
- LeetCode题解:Invert Binary Tree
- DB2常用命令总结
- 自定义不等高的cell
- 20150623_OC之文件归档NSKeyedArchiver
- sgu150: Mr. Beetle II
- pixhawk学习笔记-----mavlink
- 基础知识 -- 问答
- 关于 Swift 2.0 - 语言新特性与革新
- pixhawk学习笔记---创建新的应用程序