• Leetcode 141. Linked List Cycle


    Description: Given head, the head of a linked list, determine if the linked list has a cycle in it.

    There is a cycle in a linked list if there is some node in the list that can be reached again by continuously following the next pointer. Internally, pos is used to denote the index of the node that tail's next pointer is connected to. Note that pos is not passed as a parameter. Return true if there is a cycle in the linked list. Otherwise, return false.

    Link:https://leetcode.com/problems/linked-list-cycle/

    Examples:

    Example 1:
    Input: head = [3,2,0,-4], pos = 1
    Output: true
    Explanation: There is a cycle in the linked list, where the tail connects to the 1st node (0-indexed).
    
    Example 2:
    Input: head = [1,2], pos = 0
    Output: true
    Explanation: There is a cycle in the linked list, where the tail connects to the 0th node.
    
    Example 3:
    Input: head = [1], pos = -1
    Output: false
    Explanation: There is no cycle in the linked list.

    思路: 没有环的链表终止条件是node.next = None, 有环的链表终止条件是node.next 在已经遍历过的nodes中出现过。

    # 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
            
            p = head
            nodes = []
            while p and (p not in nodes):
                nodes.append(p)
                p = p.next
            if not p:
                return False
            return True

    日期: 2020-11-21 最近的实验被自己写出很多bug,从烦躁到越来越平静地debug,甚至很快乐

  • 相关阅读:
    Redis概述
    容器化VS微服务
    HTTP协议
    Java传参都是传引用变量的副本
    短连接、长连接和短轮询、长轮询
    Netty 5 获取客户端IP(非HTTP)
    Linux上从Java程序中调用C函数
    【转载】Log4j详细使用教程
    【转载】Windows下VSCode编译调试c/c++
    SpringCloud与Seata分布式事务初体验
  • 原文地址:https://www.cnblogs.com/wangyuxia/p/14017803.html
Copyright © 2020-2023  润新知