1. 程式人生 > >leetcode141 python環形連結串列

leetcode141 python環形連結串列

給定一個連結串列,判斷連結串列中是否有環。

進階:
你能否不使用額外空間解決此題?

python3程式碼

# 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
        p1=p2=head#p1每次跑1步,p2每次跑2步
        while p2.next and p2.next.next:#判斷跑得快的是否為空
            p1=p1.next
            p2=p2.next.next
            if p1==p2:#存在環則必然會出現相等
                return True
        return False