LeetCode 热题100-38 翻转二叉树

翻转二叉树

给你一棵二叉树的根节点 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
python 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        def fun(root):
            if root == None: return root
            tmp = root.left
            root.left = root.right
            root.right = tmp
            fun(root.left)
            fun(root.right)
        fun(root)
        return root

感觉还是函数内的内置函数清晰一点,直接的递归感觉容易钻牛角尖...but还是写写吧

python 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        if root == None:return root
        root.right,root.left = self.invertTree(root.left),self.invertTree(root.right)
        return root
相关推荐
TechQuester3 分钟前
OpenAI 刚刚推出 o1 大模型!!突破LLM极限
人工智能·python·gpt·算法·chatgpt
__AtYou__11 分钟前
Golang | Leetcode Golang题解之第412题Fizz Buzz
leetcode·golang·题解
西农小陈14 分钟前
python-简单的数据结构
数据结构·python·算法
_Chocolate15 分钟前
十大排序(一):冒泡排序
c语言·数据结构·算法
无敌开心18 分钟前
Django-Celery-Flower实现异步和定时爬虫及其监控邮件告警
爬虫·python·django
api7719 分钟前
1688商品详情API返回值中的售后保障与服务信息
java·服务器·前端·javascript·python·spring·pygame
疑惑的杰瑞44 分钟前
[乱码]确保命令行窗口与主流集成开发环境(IDE)统一采用UTF-8编码,以规避乱码问题
java·c++·vscode·python·eclipse·sublime text·visual studio
喵手1 小时前
Java零基础-多态详解
java·开发语言·python
running thunderbolt1 小时前
C++:类和对象全解
c语言·开发语言·c++·算法
阿雄不会写代码1 小时前
bt量化回测框架,bt.optimize 的详细讲解,bt策略参数优化的功能,比backtrader更简单!
开发语言·python