每日题解(7)判断回文链表

要是想实现判断回文链表,我们需要先了解一个思想,也是力扣上的一道题目,876就是查找链表的中间节点,如果链表个数是奇数,就是中间的,如果是偶数,就是靠右的那一个为中间的,实现的方法为快慢指针 。

思路为找到中间节点,并将中间节点前的链表反转,最后逐个进行比较。

我们将查找中间节点和反转链表放在一个循环中,当然也可以抽出来放在不同的方法中去实现,只不过执行速度没有那么快,第一个循环中就是查找中间节点和从中间反转链表,因为奇数会把中间的那个链表也算上,导致无法实现,画一下图就能知道,如果是奇数链表,p2快指针只会指向最后一个节点,而不是null,所以做一个if判断,如果是奇数链表,就向后跳一个,这样我们在比较的时候,就不会带上中间的节点。最后就是逐一比较节点值的方法,就不做过多解释了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值