LeetCode--HOT100题(38)

发布于:2023-08-26 ⋅ 阅读:(66) ⋅ 点赞:(0)

题目描述: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:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个喔~


网站公告

今日签到

点亮在社区的每一天
去签到