人力资源C面试汇总.docx

C程序员面试

(1)如何才能检测到链表中存在循环

面试者可能如下作答?

1.???对访问过的每个元素做个标记,继续遍历这个链表,假如碰到某个已经做过标记的元素,阐明链表存在循环。

???????链表位于只读区域,无法在元素上做标记??2.

???当访问每个元素时,把它存在一个数组里。检验每个后据元素,看看它是否已经存在数组中。(哈哈,可能有人继续想用散列表来优化数组的访问)

???????内存空间有限,无法创建一个足够长的数组。但是,可以假定假如链表中存在循环,那么它出现在前面的N个元素中

3.

设立一个指针,指向链表的头部。在接下去对直到第N个元素的访问中,把N-1个元素

文档评论(0)

1亿VIP精品文档

相关文档