当前位置:网站首页>【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;
}
};
边栏推荐
猜你喜欢
随机推荐
How does Mysql query two data tables for the same fields in two tables at the same time
uni-app 顶部选项卡吸附效果 demo(整理)
编程踩坑合集
数据监控平台
进程信息
内存模型之有序性
Laya中关于摄像机跟随人物移动或者点击人物碰撞器触发事件的Demo
【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)
Evaluate:huggingface评价指标模块入门详细介绍
热部署系统实现
mysql的innodb存储引擎和myisam存储引擎的区别
ArcEngine(五)用ICommand接口实现放大缩小
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之二:编码实现
并发之ReentrantLock
uniapp swiper 卡片轮播 修改指示点样式效果demo(整理)
Guava的Service
Charles packet capture tool learning record
C# 一周入门高级编程之《C#-继承》Day One
Redis的基础与django使用redis
mysql服务器上的mysql这个实例中表的介绍