您的位置:首页 > 编程语言 > Python开发

leetcode之Linked List Cycle

2016-01-06 17:19 555 查看
如何判断是否是一个环,采用的方法的形象说明就是双人走,一个走一步,一个走2步,如果是环,就会相遇,反之,就遇不上,非环就有一个边界。代码如下:
# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
def hasCycle(self, head):
"""
:type head: ListNode
:rtype: bool
"""
if not head:
return False
if not head.next:
return False
twostep = head.next.next
for i in xrange(2147483647):
if head.next == twostep:
return True
else:
head = head.next
if not twostep:
return False
elif not twostep.next:
return False
else:
twostep = twostep.next.next
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息