LeetCode-226-翻转二叉树

题目

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

示例 1:

img
1
2
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

示例 2:

img
1
2
输入:root = [2,1,3]
输出:[2,3,1]

示例 3:

1
2
输入:root = []
输出:[]

提示:

  • 树中节点数目范围在 [0, 100]
  • -100 <= Node.val <= 100

题解

这一题依然使用DFS的思路来解决,同样使用递归。

对每个节点都交换他们的左右子树就好了。

root不为空时,交换左右子树,然后对左右子树再交换,交换完了返回当前root即可;root为空了,返回null

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public TreeNode invertTree(TreeNode root) {
// 我认为思路就是交换左右子树
if (root != null) {
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
invertTree(root.left);
invertTree(root.right);
return root;
} else {
return null;
}
}
}

LeetCode-226-翻转二叉树
https://excelius.xyz/leetcode-226-翻转二叉树/
作者
Ther
发布于
2024年7月24日
许可协议