234.回文链表(力扣leetcode) 博主可答疑该问题

一、笔记部分

思路1:回文的意思是比较最前面与最后面数的大小,然后往中间走,如有不同的就返回false,相同就一直比较。直到比较完。

用栈就可以快速提取出从后往前的数。但是这个需要空间复杂度O(n)

 

思路2:递归也可以到了最后一个然后返回,在每一步进行与头指针比较,然后返回的是已经比较好的链表指针。

 

 

思路3:直接在原链表进行操作,就是空间度为O(1)

前半段和后半段进行比较,但是链表又只能从前往后遍历,所以后半段反转,后快指针先走,然后逐步比较。

①需判断是奇数还是偶数,这样才知道快慢指针是从哪个位置进行开始移动。直到快指针到达了,那么慢指针就是后半部分的开头。

 

 

1.如果遇到需要折半遍历数组,两指针一起跑。

2.看奇数偶数情况,还是要自己画图,才知道前半段和后半段关系

3.解耦是非常爽的。

4.断开前后关系,好遍历比较,好反转

5.既然要反转链表,那么肯定要返回新的头指针,所以肯定要设置一个。

6.将当前节点的下一个节点保留,将这个节点的尾部连接到上个新的头指针,并设置为新的头指针,那么就反转了,然后要循环做这个事,将Head赋值为这儿节点之前存的下一个节点。

 

9、比较相等。

 

二、链表类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112850324

 

三、各种类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112556249

 

四、如有疑问可加QQ群讨论:725936761 博主免费答疑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值