【一天一道LeetCode】#226. Invert Binary Tree
2016-07-11 21:02
330 查看
一天一道LeetCode
本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github欢迎大家关注我的新浪微博,我的新浪微博
欢迎转载,转载请注明出处
(一)题目
来源:https://leetcode.com/problems/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; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* invertTree(TreeNode* root) { dfsInvertTree(root); return root; } //前序遍历 void preOrderInvertTree(TreeNode* root){ if(root==NULL) return; //交换左右节点 TreeNode* temp = root->left; root->left = root->right; root->right = temp; if(root->left != NULL) dfsInvertTree(root->left); if(root->right != NULL) dfsInvertTree(root->right); } };
相关文章推荐
- 错误 1402 无法打开项 UNKNOWNComponents(2008/2005sql安装)
- 算法 把二叉查找树转变成排序的双向链表
- 51nod 动态规划基础
- 保存文件
- 中山培训 2016.7.9
- iOS中按钮点击事件处理方式
- shell学习笔记
- linux中断分层技术分析
- Nexus安装和配置
- python 调用数据库
- HDU 4778 Gems Fight!【博弈+DP】
- [从hzwer神犇那翻到的模拟赛题] 合唱队形
- 24、事件对象
- Android手机应用接口大全
- Ubuntu14.04如何安装32位兼容库,即ia32-libs
- inline-block-inline-block的简单区别
- UVA 1635-Irrelevant Elements(唯一分解定理)
- 修改Openwrt的MAC的几种方法
- 《第一行代码》读书笔记(第三章,第四章)
- HDU2824 The Euler function