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)
上一篇:题解-CF468E Permanent


下一篇:leetcode--翻转二叉树