Leetcode56: Invert Binary Tree
2015-09-14 15:15
351 查看
Invert a binary tree.
to
递归:
非递归:
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) { if(root == NULL) return NULL; TreeNode* temp = root->right; root->right = invertTree(root->left);; root->left = invertTree(temp); return root; } };
非递归:
/** * 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) { queue<TreeNode*> quetree; if(root == NULL) return NULL; quetree.push(root); while(!quetree.empty()) { TreeNode* Node = quetree.front(); quetree.pop(); TreeNode* temp = Node->left; Node->left = Node->right; Node->right = temp; if(Node->left != NULL) quetree.push(Node->left); if(Node->right != NULL) quetree.push(Node->right); } return root; } };
相关文章推荐
- 移动开发涉及的方面
- 一文读懂卷积神经网络
- iOS——bug错误:can't link with a main executable file for architecture armv7
- Vim安装与设置
- DIV+CSS实现仿DreamWeaver界面图形菜单效果代码
- DML、DDL、DCL区别
- WebMvcConfigurerAdapter的用法
- 腾讯Bugly干货分享:Android机型适配之痛
- Oracle11G 分配表空间更改用户名及用户名授权
- 安装HP WebInspect时,SQLServer2008安装不上咋办
- Spark编程笔记
- oracle 查看死锁 并解锁
- linux c 中文件的创建 读写
- Java序列化框架性能比较
- IOS UIWebView与Javascript之间的交互
- Win10笔记本怎么设置才能最大限度的省电延长电池续航时间?
- 高仿金山《电池医生》首页一键省电UI动画效果
- Some projects cannot be imported because they already exist in the workspace
- hdu1421经典dp
- Hibernate-简介