「LeetCode」剑指Offer-27二叉树的镜像⚡️

简介: 「LeetCode」剑指Offer-27二叉树的镜像⚡️

image.png

前言🌧️



算法,对前端人来说陌生又熟悉,很多时候我们都不会像后端工程师一样重视这项能力。但事实上,算法对每一个程序员来说,都有着不可撼动的地位。

因为开发的过程就是把实际问题转换成计算机可识别的指令,也就是《数据结构》里说的,「设计出数据结构,在施加以算法就行了」。

当然,学习也是有侧重点的,作为前端我们不需要像后端开发一样对算法全盘掌握,有些比较偏、不实用的类型和解法,只要稍做了解即可。


题目🦀



剑指 Offer 27. 二叉树的镜像


难度简单


请完成一个函数,输入一个二叉树,该函数输出它的镜像。


输入:

4 
/  \ 
7   2
/ \  / \
9  6 3  1
复制代码

输出:

4  
  /  \ 
 7   2
/ \  / \
9  6 3  1


示例 1:


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


限制:


0 <= 节点个数 <= 1000


解题思路🌵



  • 此题符合 的特性,采用分而治之的思想,分别反转各个节点的子节点
  • 当前节点的左节点等于右节点
  • 当节点为null时返回null


解法🔥



var mirrorTree = function(root) {
    if(!root){return null}
    return {
        val:root.val,
        left:mirrorTree(root.right),
        right:mirrorTree(root.left)
    }
};

时间复杂度:O(n)


空间复杂度:O(n)


结束语🌞



image.png


相关文章
|
4天前
leetcode代码记录(二叉树的所有路径
leetcode代码记录(二叉树的所有路径
9 0
|
5天前
leetcode代码记录(对称二叉树 中序遍历+回文串 为什么不行
leetcode代码记录(对称二叉树 中序遍历+回文串 为什么不行
7 0
|
5天前
leetcode代码记录(二叉树的最小深度
leetcode代码记录(二叉树的最小深度
8 0
|
5天前
leetcode代码记录(二叉树的最大深度
leetcode代码记录(二叉树的最大深度
7 0
|
5天前
leetcode代码记录(翻转二叉树
leetcode代码记录(翻转二叉树
5 0
|
5天前
leetcode代码记录(二叉树的层序遍历
leetcode代码记录(二叉树的层序遍历
8 0
|
5天前
|
算法
leetcode代码记录(二叉树递归遍历
leetcode代码记录(二叉树递归遍历
7 0
|
5天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
8 0
|
5天前
|
算法 索引
【刷题】滑动窗口精通 — Leetcode 30. 串联所有单词的子串 | Leetcode 76. 最小覆盖子串
经过这两道题目的书写,相信大家一定深刻认识到了滑动窗口的使用方法!!! 下面请大家继续刷题吧!!!
9 0