[Lintcode]102. Linked List Cycle/[Leetcode]141. Linked List Cycle

102. Linked List Cycle/141. Linked List Cycle

  • 本题难度: Medium/Easy
  • Topic: Linked List

Description

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.

Return a deep copy of the list.

Challenge
Could you solve it with O(1) space?
```

我的代码

"""
Definition of ListNode
class ListNode(object):
    def __init__(self, val, next=None):
        self.val = val
        self.next = next
"""

class Solution:
    """
    @param head: The first node of linked list.
    @return: True if it has a cycle, or false
    """
    def hasCycle(self, head):
        # write your code here
        try:
            slow = head
            fast = head.next
            while(slow is not fast):
                slow = slow.next
                fast = fast.next.next
            return True
        except:
            return False

思路

快慢指针
用try..except

猜你喜欢

转载自www.cnblogs.com/siriusli/p/10375621.html
0条评论
添加一条新回复