Leetcode226. 翻转二叉树(JAVA递归)

Posted !0 !

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode226. 翻转二叉树(JAVA递归)相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode-cn.com/problems/invert-binary-tree/

解题思路

我们可以递归把左子树变成右子树,右子树变为左子树

代码

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root == null)    //为空直接返回
            return root;
        TreeNode l = invertTree(root.right);    //新左子树,递归右子树
        TreeNode r = invertTree(root.left);     //新右子树,递归左子树
        root.left = l;  //连接
        root.right = r; //连接
        return root;
    }
}

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(n)

以上是关于Leetcode226. 翻转二叉树(JAVA递归)的主要内容,如果未能解决你的问题,请参考以下文章

力扣(LeetCode)226. 翻转二叉树

leetcode226 翻转二叉树(Easy)

LeetCode226翻转二叉树

LeetCode226. 翻转二叉树

leetcode 226. 翻转二叉树

二叉树7:LeetCode226:翻转二叉树