刷题LeetCode:226.翻转二叉树

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/invert-binary-tree/

题目描述

给定一棵二叉树,将它翻转。

题目分析

如上图,本题采用递归实现:从根节点开始遍历,并从叶子节点开始翻转,如果当前节点的左右子树已经翻转,只需要交换两子树即可。

代码实现

    public TreeNode invertTree(TreeNode root) {

        if (root == null) {
            return root;
        }
        TreeNode left = invertTree(root.left);
        TreeNode right = invertTree(root.right);
        root.left = right;
        root.right = left;

        return root;

    }

复杂度

  • 时间复杂度:O(n),n 为二叉树节点的数目
  • 空间复杂度:O(n)

好了,今天就到这里,感谢各位看官到这里,不如点个关注吧!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容