链表面试题之有环链表问题(2) - 第八基地

软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

链表面试题之有环链表问题(2)
发布于:第八基地 来源:互联网 作者:天堂路上 时间:2016-04-25 点击:257
16 
17         if(ps==pf)
18         {
19             //yes, there is a loop.
20             //if you just need to check if there is a loop, just return.
21             //but we need to extend it. So break to calc more.
22             break;
23         }
24     }
25 
26     //calc the length of the circle.
27     int lengthX=0;
28     do{
29         ps=ps->next;
30         pf=pf->next->next;
31         lengthX++;
32     }while(ps!=pf)
33 
34     //find the position of circle.
35     int lengthY=0;
36     linkedlistnode *p=llist;
37     while(p!=ps)
38     {
39         p=p->next;
40         ps=ps->next;
41         lengthY++;
42     }
43 
44     printf("the length of circle is %d, the position of first elem in circle is %d.\n"lengthX, lengthY);
45     
46     return true;
47 

使用到的参考,多谢这些兄弟,不然还要多想好久:

1. http://www.cnblogs.com/shawn-zhou/archive/2008/11/26/1341307.html

2. http://bbs.chinaunix.net/viewthread.php?tid=896018

这段时间会开始陆续写面试题的解决,希望大家多多提供题目,多多指教,多多讨论,谢谢~

:)

PS:用chrome来发表文章很快,但是图片和文章搭配的时候,似乎排版就有点小问题,不知道大家有没有遇到过?

再PS:图画得不好,大家见谅哈 

对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈