当前位置: 首页 > article >正文

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++代码: 

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;
    }
};
TreeNode* tmp=left;
root->left=right;
root->right=tmp;

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

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)
tmp = left
root.left = right
root.right = tmp

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


http://www.kler.cn/a/147604.html

相关文章:

  • 使用python-Spark使用的场景案例具体代码分析
  • 嵌入式硬件实战基础篇(一)-STM32+DAC0832 可调信号发生器-产生方波-三角波-正弦波
  • 前端搭建低代码平台,微前端如何选型?
  • Go八股(Ⅴ)map
  • 基于node一键发布到服务器的js脚本
  • 传奇996_19——常用函数
  • MFC—CTabCtrl 、CListCtrl
  • k8s docker总结特殊点
  • 【Jmeter】什么是BeanShell?
  • ACE 2005,LDC2006T06数据集获取
  • 2023人形机器人行业海外科技研究:从谷歌看机器人大模型进展
  • Doris_Doris导入常见问题
  • docker容器入门
  • BEV+Transformer架构加速“上车”,智能驾驶市场变革开启
  • Zookeeper 实战 | Zookeeper 和Spring Cloud相结合解决分布式锁、服务注册与发现、配置管理
  • NocoBase企业级低代码开发平台有什么优势?
  • 【C/PTA —— 12.指针1(课内实践)】
  • 面试问题--内存泄漏和内存溢出
  • MySQL的Linux安装
  • 【数据结构初阶】栈和队列
  • 人力资源管理后台 === 基础环境+登陆
  • 你有准备自我介绍吗?
  • easyexcel指定sheet页动态给行列加背景色
  • 顺序表总结
  • Spark RDD、DataFrame和Dataset的区别和联系
  • C#中的TaskFactory