LeetCode(226)Invert Binary Tree
2024-08-23 03:30:20
题目
分析
交换二叉树的左右子树。
递归非递归两种方法实现。
AC代码
class Solution {
public:
//递归实现
TreeNode* invertTree(TreeNode* root) {
if (!root)
return root;
TreeNode *tmp = root->left;
root->left = invertTree(root->right);
root->right = invertTree(tmp);
return root;
}
//非递归实现
TreeNode* invertTree2(TreeNode* root) {
if (root == NULL)
return root;
queue<TreeNode*> tree_queue;
tree_queue.push(root);
while (!tree_queue.empty()){
TreeNode * pNode = tree_queue.front();
tree_queue.pop();
TreeNode * pLeft = pNode->left;
pNode->left = pNode->right;
pNode->right = pLeft;
if (pNode->left)
tree_queue.push(pNode->left);
if (pNode->right)
tree_queue.push(pNode->right);
}
return root;
}
};
最新文章
- IOS真机测试
- [转载]Jquery mobile 新手问题总汇
- AT&;T ASSEMBLY FOR LINUX AND MAC (SYS_FORK)
- s表达式和json表达式
- java版本 ueditor 在线编辑器 配置
- MyEclipse下Struts2配置使用和Ajax、JSON的配合
- bzoj4198 荷马史诗 哈夫曼编码
- Office 365也是.NET Core应用开发新战场
- zsh: command not found: conda的一种解决方法
- linux配置jdk环境变量
- 【转】cJSON 使用笔记
- [No0000179]改善C#程序的建议2:C#中dynamic的正确用法
- sql语句查询结果排序
- Python数据类型之dict和set
- Git工作区、暂存区和版本库
- 利用Red Blob游戏介绍A*算法
- scala 有 + 运算符吗? - 03
- DPDK报文分类与访问控制
- CStringArray序列化处理
- Webstorm设置代码提示
热门文章
- Net Core应用,在CentOS上运行
- eclipse Java项目如何修改包名
- (转)Linux下select, poll和epoll IO模型的详解
- Oracle中文乱码,字符集问题处理
- SQL判断一个事件段 是否在数据库中与其他时间段有重叠 判断时间重叠
- [Java][Web] Servlet中转发和重定向比较
- 架构演进历程及为什么选择Spring Cloud
- css3弹性伸缩和使用
- windows下安装pm2
- Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)