自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 力扣226翻转二叉树 写出朵花来。

操作就是将节点的值给记录在一个结果集中,然后遍历之后输出整个结果集,看看这树长什么样子,但现在!先左、交换、再右,这个时候,右子树已经是已经处理过的左子树了!所以不选择中序遍历。如果是中序遍历:对于一个节点,先处理它的左子树,然后交换它的左右子树,然后去处理右子树。所以这道题目,关键在于选择什么样的遍历顺序,来一次处理每个节点。就好了,之前将二叉树的遍历的时候,所谓的。这里,可以使用前后序、层次遍历,because 听我慢慢慢慢说。前序,后序,层次都是可以的。这个就没有无脑写的感觉了。

2025-10-22 18:10:28 224

原创 二叉树层次遍历 递归+队列 Java实现 透彻!

里面讲了二叉树的深度遍历,这篇来说。可以去看一眼,哈哈哈,讲的挺好的,我觉得。有两种实现方式:递归 和 非递归。

2025-10-22 17:08:29 364

原创 关于二叉树,我只说重点。Java实现

对于新手数据结构的学习,我推荐的课程是:青岛大学王卓老师的数据结构 & 王道咸鱼学长的数据结构都可以在b站上免费学习(我太贴心了)首先,顾名思义,二叉树就是有2个分叉的树型结构。对于一个节点来说,会有两个分叉,分别叫做左孩子和右孩子。这是可视化的树结构,如下图所示:但是,在计算机中应该如何存储树呢?

2025-10-21 20:01:39 1449

原创 二分查找+力扣704+细节强调 Java实现 快来学习!!look me!

首先,这个二分查找需要返回的是下标,想要使用二分查找返回下标需要。循环,只是在这里,我们需要考虑很多边界情况,比如说,为什么是。其实,上面两种区别只是我们如何定义区间的区别:也就是我们认为。肯定需要不断地缩短区间,然后进行一个。以及更新左右边界的时候,到底是。

2025-10-19 13:24:17 293

原创 力扣59 螺旋数组 大风车式理解+Java实现 看这篇准没错

下面是题目,不用跳转就可以读题啦,但是同志们!看完一定要去写一下!!一定要去啊!!使命必达!好吗!而且你看完肯定觉得贼简单。不觉得简单也没事儿,我们慢慢来,凡事都有一个阶段。

2025-10-11 19:05:36 265

原创 滑动窗口引入+力扣209 倾心讲解,走过路过不要错过!超细(Java实现)

不想跳转页面的拿你没办法,请看下面的图~现在不想跳转我就姑且原谅你了,看完要记得去写一些!求你了,真的。

2025-10-11 17:10:39 496

原创 力扣516:最长回文子序列(区间动规+空间压缩+Java实现细节)【求求你了学一会儿吧】

大家可以理解一下,其实很好理解对吧,因为最长回文子序列在参与逆转的过程中是不变的,所以最长公共子序列就是它。这道题就是这样,想要尝试第一种思路(转化为求两个字符串的最长公共子序列)可以看这篇文章~说到动态规划,就有dp数组,就有dp数组的定义,对于这个题目,将。同样的,对于一段区间的讨论,可以仿照最长公共子序列来,也就是。dp的值,所以在计算本行前需要知道下一行的值,也就是说。数组计算的两种情况,可以知道,当前行dp依赖。dp数组的含义可以帮助我们抽象的理解代码。,因为是区间,所以需要确保l<r,有。

2025-09-22 10:40:34 1771

原创 理解最长公共子序列 动态规划+空间压缩(快来学习!

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。就是,取出一个字符串的部分长度(从0到全部),在同样的去除另一个字符串的部分,去寻找部分之间的最长子序列,然后扩大到整个字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。为了便于理解,超级无敌建议画图,将dp数组的图画一画,主要是为了搞清楚dp数组值之间的依赖关系。这里说的子序列可以是不连续的,连续的是子串。

2025-09-20 22:31:08 1459

原创 力扣64最小路径和 动态规划详解+空间压缩 看不懂不要钱!!

其实看懂了也不要钱哈哈哈哈开始啦~因为动态规划是一个难点,我们如果想要攻克的话还是要多练题,把每个题吃透,然后再把所有题目串起来,找到其中共同的逻辑,总结出我们自己的方法,我正在这条路上,现在我来把这道题给大家讲清楚!道阻且长!加油!

2025-09-20 16:26:52 671

原创 汉诺塔问题抽象化理解递归

所以我们想要完成 n 个盘子,我们需要先将 n - 1 个盘子移动到周转柱(这句在代码中就是打印出移动步骤即可),然后将底盘移到目标柱,最后再将 n - 1 个盘子移动到目标柱。有三根柱子(通常标记为A、B、C),其中一根柱子上有若干个大小不一的圆盘,圆盘按大小顺序叠放,最小的在上,最大的在下。假如现在有n个盘,有三根柱子,那么我们需要将其移动到另外一根柱子上,我们首先要将最大的盘移到目标柱子(,表示将0到 i 个盘子从FROM移到TO,借助OTHER周转。),好的,到这里我们已经抽象了一部分。

2025-09-18 16:16:48 158

原创 用递归逆序栈 Java实现

注意不是边掏变放,是将栈掏空了之后再放,这样最后一个被掏出的就是原栈顶,第一个被放入的也是要原栈顶,这样就将原栈顶元素变成了新栈底元素!思考出这个问题之后,我们就可以很容易的实现逆序栈了,我们只要递归下去、依次得到栈底元素然后将其重新加入栈顶即可。并暂存其余元素,判断如果是栈底元素,那就弹出并返回,如果不是栈底元素就进行下一层递归。因为递归是也是一个入栈的操作,递归栈也是栈,我们就可以利用递归栈这一点来实现逆序。这次我们通过递归逆序栈,目的在于更好的理解递归,秀一波递归,走起!动手试试吧,一定要动手试!

2025-09-18 15:35:30 234

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除