LeetCode--HOT100题(38)

目录

  • 题目描述:226. 翻转二叉树(简单)
    • 题目接口
    • 解题思路
    • 代码
  • PS:

题目描述:226. 翻转二叉树(简单)

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

LeetCode做题链接:LeetCode-翻转二叉树

示例 1:
在这里插入图片描述

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

示例 2:
LeetCode--HOT100题(38)_第1张图片

输入: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;
    }
}

成功!
LeetCode--HOT100题(38)_第2张图片

PS:

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

你可能感兴趣的:(LeetCodeHot100,leetcode,算法)