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

python-leetcode 37.翻转二叉树

题目:

给定一颗二叉树的根节点root,翻转这棵二叉树,并返回根节点


方法一:递归

从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点root的左右两棵子树都已经翻转,那么我们只需要交换两棵子树的位置,即可完成以root为根节点的整棵子树的翻转。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def invertTree(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: Optional[TreeNode]
        """
        if not root:
            return root
        left=self.invertTree(root.left)
        right=self.invertTree(root.right)
        root.left,root.right=right,left
        return root

时间复杂度:O(n)遍历二叉树中的每一个节点

空间复杂度:O(n)

源自力扣官方题解


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

相关文章:

  • 【c语言初阶】函数的嵌套
  • 143.WEB渗透测试-信息收集-小程序、app(14)
  • 【AIGC工具箱】AIGC重塑生活神器
  • chrome V3插件开发,调用 chrome.action.setIcon,提示路径找不到
  • 51单片机-外部中断
  • 【大厂AI实践】中原银行:中原银行 AI 平台建设实践
  • 大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(2)
  • Java与Go相比,有什么独特的优势
  • python 变量类型注释
  • SQL 注入攻击
  • 神经网络|(十)概率论基础知识-正态分布及python仿真
  • EasyExcel 自定义头信息导出
  • Linux-GlusterFS进阶分布式卷
  • 华为最新OD机试真题-通过软盘拷贝文件-Python-OD统一考试(E卷)
  • Vision Transformer图像分类实现
  • Activity 任务栈 taskAffinity 用法
  • 【机器学习与数据挖掘实战】案例14:基于随机森林分类器的汽车公司客户细分预测
  • CMU 15-445 23Fall Lab 总结
  • ​33页PDF | 基于数字化转型的数据指标与标签体系应用架构设计方案
  • JavaScript 前端面试 4(作用域链、this)