自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 环形链表(数学方法)

也很好理解,就算出现了到了fast与slow重合的情况而言,因为是fast追上来的(这是肯定的) ,如果是slow的话,就跳出去了,然后slow在动,fast在动,slow在动 ,就追上fast了,而且是一定会追击上的,这样可以很简单的抽象出公式a=2b这个公式是一定成立的。就是这个公式当n=1的时候,这个特殊情况,x=z,这个时候,我们只需要定义两个指针Index1和index2这个时候同时移动就会相交。但要是n不是1的时候也没有问题,他因为当两个相交的时候上面那个公式就已经满足了。

2023-12-13 19:20:16 347 1

原创 反转链表2,穿针引线法

而穿针引线的方法只需要遍历一次链表,比较考验对链表操作的理解,多指针的情况下,很容易造成线断掉的情况。常规思路就是切断链表,然后进行整个反转操作,这里面就只需要注意链表的节点获取问题。注意的是指针一般不能按来做比较,因为指向的是地址。也并不是,因为,其实是right的值在最后改变了。在链表的节点改变之后,相应的会引发一系列连锁反应。知道操作次数,最好还是用for循环比较好拉。并且一定注意操作次数以及空指针的问题。所以链表一定要尤其注意空指针的问题。这次属于题目优化的思路。

2023-12-12 20:49:10 374

原创 单链表题目熟练(3道题)

但是注意在创建链表的时候,不知道为什么,leetcode的链表不能自己在新创建一个,只能用原有的ListNode来new,所以就这一点要注意,然后就没有什么特别注意的地方。里面会用到链表反转,但是这里面是不需要用到链表反转的,因为你会定义pre一开始为nullptr所以不用担心,但是这个是一定要写的,因为不能让链表的next相互指向。最厉害的地方在于,这个递归的地方的判断,!其实不难发现,只要涉及到操作链表,需要涉及到操作的链表节点的前一个值的时候,我们通常会使用虚拟头结点,这个东西来简单化我们的讨论。

2023-12-11 22:18:36 317 1

原创 链表入门(水题)

显然这样写也是不正确的,三指针很容易超出限制,比方说你只有在、两个或者一个数值的情况下这样写就会,报错,会超出链表的范围,有局限性 ,这样跨度很大的链表题,这样写一般都容易超出限制,而且不好改。链表题的难点一直都是一定要搞清楚,链表的指针都指向哪里去了,他的next都=指向哪里去了。就是你认为只要相应的链表指针改变了,他的next也会跟着变显然这是不对的。注意在反转后的,前一个所在位置,是temp1,而不是temp2。一般操作头一个节点之前的,可以加入虚拟头节点。本题其实不难,搞清楚next就行了。

2023-12-10 17:16:02 372 1

原创 反转链表(水题)

这里有地方需要注意的就是链表的连接问题,在写循环的时候一定要注意,不能搞错,顺序,一搞错顺序,你代码就崩了。首先就是定义temp是cur的next。然后就是把cur的next指向pre。temp的值在一开就变了。

2023-12-09 22:40:16 381

原创 链表学习之单链表

本题就是手搓一个链表的一些功能,实现一个动态链表,还是非常好的一个题,让我这个链表渣滓都略知1,2单向链表的用法了,建议熟练掌握,还有本题的一些关键点。3.一定要在脑子里建立一张链表,知道在链表增删改查的过程,脑子要很清醒,要拿笔去算,OK?记住最后一步要把链表给收回来,把头结点重新安装回去,不要忘记了链表的结构啊,会报错的。因为这是你的cur的指针指向的东西,是他的下一个要指向下下个节点,懂否?2.一定要注意cur指向的对象,cur->next。我的方法是,先了解链表的原理,然后书写代码。

2023-12-08 22:11:07 408

原创 N皇后问题

本题的难点其实是在于如何,利用dfs,并且写好dfs,找到好递归进出的条件,想好递归完毕之后的如何pop掉数组里面的东西,就OK了。好像也不是这个问题,因为这样写,没有办法把第一个数直接放进去,因为条件问题,会在第一不进入不了递归,所以应该,换一种写法。这里的递归的条件应该在循环里面的,不然一种条件结束以后你就直接结束了撒,所以要写两层循环。错误2:这里小心数组book的初始化为0,不能和列号相同,这样就会一直相同拉,首先当仁不让的就是我的错误样例了。还有一些小问题请看代码注释。

2023-12-07 11:25:08 350 1

原创 勾勒最大矩形(leetcode)

然后就是本题的核心思想,单调栈,怎么想出来的呢,就是,请看第一种方法,就是找到比当前小的高,也就是如果,i<j,并且h[i]>h[j]的话,那么我们可以认为,我们在找,就j+1的柱子高度小的柱子,就没有必要在找i了,所以想到用单调栈。其实不难发现,一开始的代码连题解的意思都没有搞懂,这个是类比方法一中的方法,去,模拟方法一然后去,找到对应的长度。先来一个错误的写法(没有实现,当比较完之后,栈里面剩下的数字的处理,以及很难处理,开始的矩形高度是0的问题)这里要注意的是,left的变化,记得变化高。

2023-12-05 22:10:25 367 1

空空如也

空空如也

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

TA关注的人

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