欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode 226.翻转二叉树-简单

程序员文章站 2022-05-18 15:45:22
...

LeetCode 226.翻转二叉树-简单

1.题目

翻转一棵二叉树。

示例

输入
      4
     / \
   2   7
  / \   / \
1  3  6  9
输出
      4
     / \
   7   2
  / \   / \
9  6  3  1
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.解题

方法一:递归

  • 边界条件:树为空
  • 复杂度分析:
    时间复杂度 O(N): 相当于遍历了一遍树
    空间复杂度 O(1)
# 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 None
        root.right, root.left = root.left, root.right
        if root.left != None:
            root.left = self.invertTree(root.left)
        if root.right != None:
            root.right = self.invertTree(root.right)
        return root

LeetCode 226.翻转二叉树-简单

相关标签: Leetcode