226. 翻转二叉树
题目
226. 翻转二叉树(简单)
给你一棵二叉树的根节点
root,翻转这棵二叉树,并返回其根节点。
示例 1:

输入:
[4,2,7,1,3,6,9]输出:
[4,7,2,9,6,3,1]示例 2:

输入:
[2,1,3]输出:
[2,3,1]示例 3:
输入:
[]输出:
[]提示:
- 树中节点数目范围在
[0, 100]内 -100 <= Node.val <= 100
思路
递归交换:对每个节点,先递归翻转左右子树,再交换
root.left 和 root.right,返回
root。空节点直接返回。
代码
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
if not root:
return root
self.invertTree(root.left)
self.invertTree(root.right)
root.right, root.left = root.left, root.right
return root226. 翻转二叉树
https://mingsm17518.github.io/2026/09/15/刷题笔记/Hot100/226. 翻转二叉树/