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

相关推荐
哎嗨人生公众号2 分钟前
手写求导公式,让轨迹优化性能飞升,150ms变成9ms
开发语言·c++·算法·机器人·自动驾驶
foundbug9995 分钟前
STM32 内部温度传感器测量程序(标准库函数版)
stm32·单片机·嵌入式硬件·算法
Hello.Reader6 分钟前
为什么学线性代数(一)
线性代数·算法·机器学习
_深海凉_13 分钟前
LeetCode热题100-找到字符串中所有字母异位词
算法·leetcode·职场和发展
木井巳17 分钟前
【递归算法】目标和
java·算法·leetcode·决策树·深度优先
旖-旎23 分钟前
哈希表(字母异位次分组)(5)
数据结构·c++·算法·leetcode·哈希算法·散列表
别或许30 分钟前
4、高数----一元函数微分学的计算
人工智能·算法·机器学习
_深海凉_36 分钟前
LeetCode热题100-最长连续序列
算法·leetcode·职场和发展
这里没有酒38 分钟前
[信息安全] AES128 加密/解密 --> state 矩阵
算法
无限进步_41 分钟前
【C++】多重继承中的虚表布局分析:D类对象为何有两个虚表?
开发语言·c++·ide·windows·git·算法·visual studio