LeetCode刷题之226.翻转二叉树

LeetCode刷题之226.翻转二叉树

我不知道将去向何方,但我已在路上!
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 !
  • 题目
    翻转一棵二叉树。
  • 示例
       4
     /   \
    2     7
   / \   / \
  1   3 6   9
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
       4
     /   \
    7     2
   / \   / \
  9   6 3   1
  • 说明
    你可以假设 s 和 t 具有相同的长度。
  • 代码:
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    def invertTree(self, root: TreeNode) -> TreeNode:
        if root == None:
            return
        root.right,root.left = root.left,root.right
        root.right,root.left = self.invertTree(root.right),self.invertTree(root.left)
        return(root)
# 执行用时 :52 ms, 在所有 Python3 提交中击败了54.05%的用户
# 内存消耗 :13.7 MB, 在所有 Python3 提交中击败了5.24%的用户
  • 算法说明:
    从上到下,逐步进行遍历二叉数,然后交换左右节点,左右子节点继续调用invertTree函数递归,直到根节点为空,返回root。
    在这里插入图片描述
发布了90 篇原创文章 · 获赞 1 · 访问量 1025

猜你喜欢

转载自blog.csdn.net/qq_34331113/article/details/103902172