目录
- 题目描述:226. 翻转二叉树(简单)
- 题目接口
- 解题思路
- 代码
- PS:
题目描述:226. 翻转二叉树(简单)
给你一棵二叉树的根节点 root
,翻转这棵二叉树,并返回其根节点。
LeetCode做题链接:LeetCode-翻转二叉树
示例 1:
在这里插入图片描述
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
示例 2:
输入:root = [2,1,3]
输出:[2,3,1]
示例 3:
输入:root = []
输出:[]
提示:
树中节点数目范围在 [0, 100] 内
-100 <= Node.val <= 100
进阶: 你可以想出一个时间复杂度小于 O(n2) 的算法吗?
题目接口
class Solution {
public int[] twoSum(int[] nums, int target) {
}
}
解题思路
递归:
- 1.终止条件:当前节点为
null
时返回 - 2.交换当前节点的左右节点,再递归的交换当前节点的左节点,递归的交换当前节点的右节点(可以直接再递归的基础上做交换)
代码
class Solution {
public int[] twoSum(int[] nums, int target) {
if (root == null) {
return null;
}
TreeNode tmpNode = invertTree(root.left);
root.left = invertTree(root.right);
root.right = tmpNode;
return root;
}
}
成功!
PS:
感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个赞喔~