首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

(面试题)怎么找到单向链表中间的那个元素,如果有两个则取前面一个

2012-07-28 
(面试题)如何找到单向链表中间的那个元素,如果有两个则取前面一个(面试题)如何找到单向链表中间的那个元素

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

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

热点排行