一道链表的面试题想法

来源:互联网 发布:碱性水 知乎 编辑:程序博客网 时间:2024/05/22 06:39

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


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

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

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


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

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


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

原创粉丝点击