Leetcode #141 Linked List Cycle

题目链接:https://leetcode.com/problems/linked-list-cycle/

 

判断一个链表中是否有环,可以设置两个指针,第一个每次前进一格,第二个每次前进两格。

对于前进两格的指针,需要先判断前进一格时是否为 NULL :

  • 如果不判断是不是 NULL ,取两次 next 可能会造成 Runtime Error 。

  • 如果是 NULL ,说明链表不存在环。

如果链表中存在环,则 每次前进两格的指针 最终会追上 每次前进一格的指针 。

如果链表中不存在环,则 每次前进两格的指针 最终为 NULL 。

 

备注:前几天看到了"判断两条链表是否存在公共部分"这一题。其中一种做法是,将两条链表首尾相接,从而转化为判断是否有环存在的问题。

posted @ 2015-04-05 22:09  meowcherry  阅读(94)  评论(0编辑  收藏  举报