BM33. [二叉树的镜像]

alt

https://www.nowcoder.com/exam/oj?tab=%E7%AE%97%E6%B3%95%E7%AF%87&topicId=295

BM33. 二叉树的镜像

https://www.nowcoder.com/practice/a9d0ecbacef9410ca97463e4a5c83be7?tpId=295&sfm=github&channel=nowcoder

源二叉树

img

镜像二叉树

img

从上到下进行遍历,然后交换左右子节点就可以了?简单dfs即可

图解过程

模板处理

public TreeNode Mirror (TreeNode pRoot) {
        //处理当前节点
        Mirror(pRoot.left);
        Mirror(pRoot.right);
        return pRoot;
    }

如何处理当前节点,就是交换左右子树,直接时候用我们的swap函数即可

       if(pRoot == null)
            return null;
        //可以将其抽象为一个swap操作按照swap的操作就非常的容易理解交换可以想象交换数组的连个树
        TreeNode tmp =  pRoot.right;
        pRoot.right = pRoot.left;
        pRoot.left = tmp;

完整题解

public class Solution {
    public TreeNode Mirror (TreeNode pRoot) {
       if(pRoot == null)
            return null;
        //可以将其抽象为一个swap操作按照swap的操作就非常的容易理解
        TreeNode tmp =  pRoot.right;
        pRoot.right = pRoot.left;
        pRoot.left = tmp;
        Mirror(pRoot.left);
        Mirror(pRoot.right);
        return pRoot;
    }
}

复杂度分析

  • 时间复杂度:O(n),二叉树前序遍历的时间复杂度
  • 空间复杂度:O(n),新建一个二叉树进行返回

alt

#面经##题解##面试题目#
全部评论

相关推荐

09-22 11:42
门头沟学院 Java
现在还很懵,不是什么很好的工资,但是很怕拒绝了秋招就没有offer了试用期3个月 无责底薪7k➕绩效 转正8k base南昌 没有住房补贴 餐补 不知道作为一个应届生这个待遇怎么样?
白火同学:南昌能给到8k,还有绩效其实不错了。因为南昌房租不高,我22年在谢家村那边市中心租房只要1k就能租到还不错的房子,其他消费也是正常省会水平,所以南昌8k ≈ 一线10k上下吧。双非应届校招能拿这个薪资水平确实可以了,唯一不足的就是南昌IT行业整体不太行,以后跳槽多少有点不方便。
我的秋招日记
点赞 评论 收藏
分享
09-24 18:25
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务