[LeetCode] 226 翻转二叉树
2016-02-28 00:40
405 查看
Invert Binary Tree(翻转二叉树)
【难度:Easy】Invert a binary tree.
to
对一棵二叉树进行镜像翻转。
解题思路
根据二叉树的结构特点,使用递归的思想,在根节点root非空时,分别对左子树和右子树进行递归操作,更换root->left和root->right的值,由局部到整体完成整棵二叉树的翻转。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) { TreeNode* tmp = invertTree(root->left); root->left = invertTree(root->right); root->right = tmp; } return root; } };
相关文章推荐
- stm32之堆栈
- wl-kmod
- Android编译本地C++程序方法
- 离我而去的2015,迎面而来的2016
- Python基础语法(Python基础知识点)
- 关于i++和++i的有效区分
- netcdf源码在windows上的编译
- 为什么Actor模型是高并发事务的终极解决方案
- netcdf源码在windows上的编译
- Apache与Nginx的优缺点比较
- Android自定义Dialog的一些问题
- linux 无线网卡
- 超级详解:委托与事件
- 【PAT】1039. 到底买不买(20)
- 反射应用
- nmap 命令操作
- linux删除文件
- android同时打开多个Activity的方式(应用于启动页面广告等场景)
- img reload
- HDU 4604 Deque(dp、LIS)