读书人

(面试题)怎么找到单向链表中间的那个

发布时间: 2012-07-28 12:25:13 作者: rapoo

(面试题)如何找到单向链表中间的那个元素,如果有两个则取前面一个
(面试题)如何找到单向链表中间的那个元素,如果有两个则取前面一个?不要笨办法哈

[解决办法]
做循环,两个指针,一个每次走一步,一个每次走两步。等到走两步的那个指针走到结束,走一步的那个指针差不多就是中心位置。
思路大致这样,具体特判、边界处理就不说了
[解决办法]
链表这种结构不像数组, 应该没法跳跃式的定位的吧,也只能一个接着一个地找,那就算直接知道元素个数,也要n/2次才能找到啊。难道会有lgN的算法?

读书人网 >C语言

热点推荐