018 · Invert Binary Tree
algorithm
Problem
给定一个二叉树的根节点 root。
请将这棵二叉树翻转,并返回翻转后的根节点。
二叉树中的每个节点包含三个部分:
val:当前节点的值left:指向左子节点的指针right:指向右子节点的指针
翻转二叉树的意思是:把每个节点的左子树和右子树互换位置,整棵树左右镜像对称。
例如,原始的二叉树长这样:
4
/ \
2 7
/ \ / \
1 3 6 9
翻转之后,应该变成:
4
/ \
7 2
/ \ / \
9 6 3 1
可以看到,每一层的左右节点都被互换了。
Examples
示例 1
Input: root = [4,2,7,1,3,6,9]
Output: [4,7,2,9,6,3,1]
解释:根节点 4 的左右子树互换,每个子节点的左右子树也互换。
示例 2
Input: root = [2,1,3]
Output: [2,3,1]
解释:只需把根节点 2 的左子节点 1 和右子节点 3 互换。
示例 3
Input: root = []
Output: []
解释:空树翻转后仍然是空树。
Constraints
- 树中节点的数量范围是 \([0, 100]\)
- \(-100 \leq\)
Node.val\(\leq 100\)
Link
→ Solution