当前位置:网站首页>【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;
}
};
边栏推荐
猜你喜欢
随机推荐
【论文笔记】基于动作空间划分的MAXQ自动分层方法
frp: open source intranet penetration tool
greenplum role /user 管理
RViz报错: Error subscribing: Unable to load plugin for transport ‘compressed‘解决方法
服务器资源监控工具-nmon、nmon_analyser
阿里云·短信发送
关于Unity自定义Inspector面板的一些自定义编辑器扩展
如何在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster?
【论文笔记】一种基于启发式奖赏函数的分层强化学习方法
WPS EXCEL 筛选指定长度的文本 内容 字符串
【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)
ArcEngine (5) use the ICommand interface to achieve zoom in and zoom out
国内IT市场还有发展吗?有哪些创新好用的IT运维工具可以推荐?
品牌方发行NFT时,应如何考量实用性?
箭头函数与普通函数的区别
ArcEngine (1) Loading vector data
flutter 应用 抓包
Eject stubborn hard drives with diskpart's offline command
多线程下的单例模式
dflow部署简记








