当前位置:网站首页>【LeetCode】226.翻转二叉树
【LeetCode】226.翻转二叉树
2022-08-03 08:30:00 【酥酥~】
题目
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
示例 1:

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
示例 2:

输入:root = [2,1,3]
输出:[2,3,1]
示例 3:
输入:root = []
输出:[]
提示:
树中节点数目范围在 [0, 100] 内
-100 <= Node.val <= 100
题解
使用递归
从二叉树底部开始交换
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if(root==nullptr)
return nullptr;
TreeNode* left = invertTree(root->left);
TreeNode* right = invertTree(root->right);
root->right = left;
root->left = right;
return root;
}
};
从上向下交换
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */
class Solution {
public:
void fun(TreeNode* root)
{
TreeNode* tmp = root->left;
root->left = root->right;
root->right = tmp;
if(root->left)
fun(root->left);
if(root->right)
fun(root->right);
}
TreeNode* invertTree(TreeNode* root) {
if(root==nullptr)
return nullptr;
fun(root);
return root;
}
};
边栏推荐
- mysql 8.0.12 安装配置方法并--设置修改密码
- HCIA实验(07)
- 如何在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster?
- Mysql如何对两张表的相同字段,同时查询两张数据表
- mysql的innodb存储引擎和myisam存储引擎的区别
- Dapr 与 NestJs ,实战编写一个 Pub & Sub 装饰器
- Qt 下拉复选框(MultiSelectComboBox)(一) 实现下拉框多选,搜索下拉框内容
- 0day_Topsec上网行为管理RCE
- WPS EXCEL 筛选指定长度的文本 内容 字符串
- netstat 及 ifconfig 是如何工作的。
猜你喜欢

The use of the database table structure document generation tool screw

使用pipreqs导出项目所需的requirements.txt(而非整个环境)

sqlite date field plus one day

浅析什么是伪类和伪元素?伪类和伪元素的区别解析

FusionAccess软件架构、FusionAccess必须配置的四个组件、桌面发放流程、虚拟机组类型、桌面组类型

基于SSM开发的的小区物业管理系统小程序源码

面渣逆袭:MySQL六十六问,两万字+五十图详解

Exception: Dataset not found.解决办法

【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)

开发工具之版本控制
随机推荐
redis stream 实现消息队列
QT中线程调用GUI主线程控件的问题
sqlserver2019安装失败
Exception: Dataset not found.解决办法
Unity编辑器扩展批量修改图片名称
服务器资源监控工具-nmon、nmon_analyser
The use of the database table structure document generation tool screw
dflow入门1——HelloWorld!
计算机网络之网络安全
国内IT市场还有发展吗?有哪些创新好用的IT运维工具可以推荐?
安装mysql-workbench
手把手教你如何自制目标检测框架(从理论到实现)
PowerShell:执行 Install-Module 时,不能从 URI 下载
Guava的Service
LeetCode 每日一题——622. 设计循环队列
thop 使用心得
AI mid-stage sequence labeling task: three data set construction process records
The Transformer, BERT, GPT paper intensive reading notes
HCIP练习03(重发布)
进程信息