leetCode 226.翻转二叉树

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

226. 翻转二叉树 - 力扣(LeetCode)


示例 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 = []
输出:[]

C++代码:

cpp 复制代码
class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if(root==nullptr) return nullptr;
        TreeNode* left = invertTree(root->left);
        TreeNode* right = invertTree(root->right);
        TreeNode* tmp=left;
        root->left=right;
        root->right=tmp;
        return root;
    }
};
cpp 复制代码
TreeNode* tmp=left;
root->left=right;
root->right=tmp;

也可以简洁写成:swap(root->left,root->right);

Python代码:

python 复制代码
class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        if not root:
            return root
        left = self.invertTree(root.left)
        right = self.invertTree(root.right)
        tmp = left
        root.left = right
        root.right = tmp
        return root

# 复杂度分析:
# 时间复杂度:O(N)
# 空间复杂度:O(N)
cpp 复制代码
tmp = left
root.left = right
root.right = tmp

也可以简洁写成:root.left,root.right = right,left

相关推荐
会编程的土豆3 小时前
LeetCode 热题 HOT100(一):哈希表与双指针入门(Go 实现)
算法·leetcode·职场和发展
学习中.........3 小时前
并行 BPE 训练 与 手写 `Tokenizer`
人工智能·算法·机器学习·语言模型
科学实验家3 小时前
动态规划2
算法·动态规划
imuliuliang13 小时前
关于数据结构在算法设计中的核心作用解析7
算法
2401_8949155314 小时前
GEO 搜索优化完整源码从零部署:环境配置、集群搭建全流程
开发语言·python·tcp/ip·算法·unity
普通网友15 小时前
共识算法实现:从工作量证明到权益证明的演进
算法·区块链·共识算法
ldmd28416 小时前
地图生成算法(噪声篇-Perlin,Simplex,Value noise)
算法·go·地图生成
国科安芯17 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
小陈phd17 小时前
集成检索介绍
算法