[算法刷题笔记]二叉树练习(1)二叉树的镜像

本文阅读 4 分钟
首页 代码,Java 正文

<font size="4">学习算法,还有一些知识的时候,有时候看书后以为自己懂了,结果做题就发现自己没什么思路,为此,博主决定坚持刷题,这里给大家推荐一个适合大家做题复习,准备面试的网站点此进入,里面还有大量的面经,大家可以在面试之前去看看
在这里插入图片描述
我们可以看到里面根据不同知识层面分成对应的题库,算法也进行了对应的分类,十分的友好,接下来就开始今天的刷题之旅</font>

🌮🌮题目描述

<font size="4">描述
操作给定的二叉树,将其变换为源二叉树的镜像。
数据范围:二叉树的节点数 0 le n le 10000≤n≤1000 , 二叉树每个节点的值 0le val le 10000≤val≤1000
要求: 空间复杂度 O(n)O(n) 。本题也有原地操作,即空间复杂度 O(1)O(1) 的解法,时间复杂度 O(n)O(n)
在这里插入图片描述
在这里插入图片描述</font>

🌮🌮思路1

🔥我们可以考虑递归遍历,交换每一个节点的左右孩子节点
1️⃣如果根节点pRoot为空,返回空
2️⃣交换左右子树
3️⃣递归左子树
4️⃣递归右子树
5️⃣返回根节点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🌮🌮思路2

🔥利用栈来存放节点,然后交换左右节点
1、 当 pRoot为空时,直接返回 null ;
2、初始化: 栈(或队列),本文用栈stack ,并加入根节点 pRoot。
3、循环交换: 当栈 stack 为空时跳出;

<font size="4">上面那两种方法是我能够想出来的思路,如果大家想要看看其他的思路的话,我们可以在牛客的题解上面看到其他人的思路 和代码,大家具体的可以去看看,也可以在上面和大家一起交流探讨
在这里插入图片描述
相较于其他平台,他们的题单更和工作,大厂靠拢,不光有面试必刷的101到题目,还有大量大厂真题,内容也全程免费,相较于其它会员费结算的来说 非常的友好
在这里插入图片描述
牛客还支持ACM模式,没有练习过的一定要提前适应!像某团、某为,都要求自己处理输入输出,如果不提前练习会很吃亏的!
牛客的题解更新迭代也很快,讨论区也有技巧的分享,能帮你把所有盲点扫清楚,整体来说还是非常推荐去练习的~
希望大家可以和博主一起坚持下去,千里之行,始于足下,让我们一起卷进大厂🎉🎉🎉</font>

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://zengyihong.blog.csdn.net/article/details/125942727
-- 展开阅读全文 --
安全面试之XSS(跨站脚本攻击)
« 上一篇 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复