题目

翻转一棵二叉树。

示例:
输入:
4
/ \
2 7
/ \ / \
1 3 6 9
输出:
4
/ \
7 2
/ \ / \
9 6 3 1

方案(递归)

  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. # def __init__(self, x):
  4. # self.val = x
  5. # self.left = None
  6. # self.right = None
  7. class Solution:
  8. def invertTree(self, root: TreeNode) -> TreeNode:
  9. if not root:
  10. return root
  11. root.left, root.right = root.right, root.left
  12. self.invertTree(root.left)
  13. self.invertTree(root.right)
  14. return root

原文

https://leetcode-cn.com/explore/interview/card/2020-top-interview-questions/292/simulation/1308/