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
相关推荐
zhugby几秒前
标号法原理
算法
qwehjk20082 分钟前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
兰.lan5 分钟前
【黑马ai测试】HTTP协议-抓包工具定位-弱网测试-缺陷介绍
网络·python·网络协议·http
努力学习的小廉35 分钟前
我爱学算法之——动态规划(一)
算法·动态规划
篮l球场37 分钟前
前 K 个高频元素
数据结构·算法·leetcode
每天吃的很好的Ruby1 小时前
报错ValueError: sampler option is mutually exclusive with shuffle
人工智能·pytorch·python
清水白石0081 小时前
Python 性能优化全景解析:当 Big O 骗了你——深挖常数开销、内存与解释器黑盒
开发语言·python·性能优化
oi..1 小时前
python Get/Post请求练习
开发语言·经验分享·笔记·python·程序人生·安全·网络安全
汉克老师1 小时前
GESP5级C++考试语法知识(十一、递归算法(一))
c++·算法·记忆化搜索·递归算法·递归优化
qq_148115371 小时前
C++网络编程(Boost.Asio)
开发语言·c++·算法