链接:226. 翻转二叉树 - 力扣(LeetCode)

递归

 1 # Definition for a binary tree node.
 2 # class TreeNode(object):
 3 #     def __init__(self, val=0, left=None, right=None):
 4 #         self.val = val
 5 #         self.left = left
 6 #         self.right = right
 7 class Solution(object):
 8     def invertTree(self, root):
 9         """
10         :type root: Optional[TreeNode]
11         :rtype: Optional[TreeNode]
12         """
13         if not root:
14             return 
15         newLeft = self.invertTree(root.right)
16         newRight = self.invertTree(root.left)
17         root.left = newLeft
18         root.right = newRight
19         return root
20