给定一个链表,判断它是否有环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个链表,判断它是否有环相关的知识,希望对你有一定的参考价值。

如何判断是否有环?设置两个头结点指针,一个走的快,一个走的慢,那么若干步以后,快的指针总会超过慢的指针一圈。(python代码)

 1 """
 2 Definition of ListNode
 3 class ListNode(object):
 4 
 5     def __init__(self, val, next=None):
 6         self.val = val
 7         self.next = next
 8 """
 9 class Solution:
10     """
11     @param head: The first node of the linked list.
12     @return: True if it has a cycle, or false
13     """
14     def hasCycle(self, head):
15         # write your code here
16         slow=head
17         fast=head
18         while fast!=None and fast.next!=None:
19             slow=slow.next
20             fast=fast.next.next
21             if slow==fast:
22                 break
23         if fast==None or fast.next==None:
24             return False
25         else:
26             return True

 

以上是关于给定一个链表,判断它是否有环的主要内容,如果未能解决你的问题,请参考以下文章

[leetcode]141. Linked List Cycle判断链表是否有环

判断一个链表是否有环

[leetcode] 判断链表是否有环及其变式

牛客网高频算法题系列-BM6-判断链表中是否有环

判断链表中是否有环 ----- 有关单链表中环的问题

[NowCoder]NC4 判断链表中是否有环