一道链表的面试题想法

今天电话面试被人家问了两道面试题,悲剧的两个都没有答出来。


一个链表,如何在一遍循环中得到它的中间结点,为了简单,设这个链表结点个数为奇个。

这个一道网上已经问烂的题目,

用两个指针,一个每次移动两个结点,一个每次移动一个结点。


为什么想不出来呢?
1、思维定势。在我的脑海了,指向链表的指针向来只移动一个结点。这就造成我根本不可能想到每次移动两个结点。

2、同样是思维定势。被问道中间结点,我的潜在反应是需要计数。结点的个数的一半就是中间结点。但是求得中间部分真的要知道结点个数吗??非也,如两根同样的蜡烛,如何知道蜡烛的一半。可以这样,一根蜡烛从两端开始点火,另一根从一端点火,当两头均点火的蜡烛烧完时,就是另一根燃烧到一半的时候。


总是在常规中,所以很多思维就形成惯性,结果想问题的时候也被影响,思路不够开放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值