leetcode_141. Linked List Cycle 判断链表中是否有环

来源:互联网 发布:轻松网络销售招聘 编辑:程序博客网 时间:2024/06/05 10:22

题目:

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?



题意:

给定一个链表,判断它是否含有环(要求不能使用额外的空间)


代码:

# 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 head == None :
            return False
        else :
            while head != None :
                if head.val == 100000000 :
                    return True
                else :
                    head.val = 100000000
                    head = head.next
            return False


笔记:

基本思想是,用head指针走过的节点,将节点值修改为一个很大的值,然后遍历链表,当遇到节点值为设置的很大的值时,说明这个节点之前被遍历过,即链表里链表有环



0 0
原创粉丝点击