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
相关推荐
信仰_2739932438 分钟前
Guava Cache淘汰算法
算法·guava
User_芊芊君子14 分钟前
【LeetCode 经典题解】:队列与栈的双向模拟——从原理到代码详解
linux·redis·leetcode
AI视觉网奇18 分钟前
yolo 获取异常样本 yolo 异常
开发语言·python·yolo
散峰而望20 分钟前
C++入门(二) (算法竞赛)
开发语言·c++·算法·github
程序员爱钓鱼25 分钟前
Python编程实战 面向对象与进阶语法 迭代器与生成器
后端·python·ipython
程序员爱钓鱼34 分钟前
Python编程实战 面向对象与进阶语法 JSON数据读写
后端·python·ipython
Cx330❀41 分钟前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
TH88861 小时前
一体化负氧离子监测站:实时、精准监测空气中负氧离子浓度及其他环境参数
python
苏打水com1 小时前
0基础学前端:100天拿offer实战课(第3天)—— CSS基础美化:给网页“精装修”的5大核心技巧
人工智能·python·tensorflow
不染尘.1 小时前
2025_11_5_刷题
开发语言·c++·vscode·算法·贪心算法·动态规划