当前位置:网站首页>【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;
}
};
边栏推荐
猜你喜欢
随机推荐
WPF 学习笔记《WPF样式基础》
积分商城系统设计
多线程下的单例模式
Unity关于编辑器扩展自定义标签,方便扩展Inspector
批量将PNG格式转化为JPG格式
Charles packet capture tool learning record
Evaluate: A detailed introduction to the introduction of huggingface evaluation indicator module
Evaluate:huggingface评价指标模块入门详细介绍
编程踩坑合集
mysql服务器上的mysql这个实例中表的介绍
浅析什么是伪类和伪元素?伪类和伪元素的区别解析
手把手教你如何自制目标检测框架(从理论到实现)
qt使用mysql数据库(自学笔记)
ArcEngine (5) use the ICommand interface to achieve zoom in and zoom out
C# 一周入门高级编程之《C#-继承》Day One
Eject stubborn hard drives with diskpart's offline command
ArcEngine(六)用tool工具实现拉框放大缩小和平移
审批流设计
vs 2022无法安装 vc_runtimeMinmum_x86错误
sqlserver2019安装失败







