Linked List Cycle 解法

这道题是要找出单链表是否存在环, Solution1: 使用快指针和满指针的思路,若存在环,则两个必定相遇。 代码如下:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    bool hasCycle(ListNode *head) {

  bool flag=false;
  if(!head)
   return flag;
        ListNode *slow=head;
  ListNode *fast=head;

  while(fast->next)
  {
   fast=fast->next;
   if(fast->next)
   {
    slow=slow->next;
    fast=fast->next;
   }

   if(fast==slow)
   {
    flag=true;
    break;
   }
  }

  return flag;
    }
};
标签: leetcode
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论