LeetCode热题100-翻转二叉树
给你一棵二叉树的根节点
root,翻转这棵二叉树,并返回其根节点。示例 1:
输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]
思路
- 遇到空树直接退出
- 先交换当前节点左右孩子
- 再递归翻转左子树、递归翻转右子树
- 从上到下逐层全部翻转
class Solution: def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: if not root: return None root.left, root.right = root.right, root.left self.invertTree(root.left) self.invertTree(root.right) return root