关闭

判断链表中是否有环存在

标签: 单链表是否存在环
235人阅读 评论(0) 收藏 举报

思路:
用两个指针,pSlow,pFast,就是一个慢一个快
慢的一次跳一步,
快的一次跳两步,
什么时候快的追上慢的了就表示有环(pSlow == pFast )。
实现如下:

struct  listtype
{
    int data;
    struct listtype * next;
}list;

int find_cicle(list *head)
{
     list *pFast=head;
     list *pSlow=head;
     if (pFast==NULL)
     {
          return -1;
      }
     while(pFast && pFast->next)
    {
        pFast=pFast->next->next;
        pSlow=pSlow->next;
        if (pFast==pSlow)
       {
           return 1;
        }
     }
     return 0
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29258次
    • 积分:936
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:34篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论