【力扣100】142.环形链表2

添加链接描述

python 复制代码
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def detectCycle(self, head: Optional[ListNode]) -> Optional[ListNode]:
        # 思路是使用set,如果这个节点在set出现过,记录这个节点,并循环出这个节点的下标
        if head is None or head.next is None:
            return None
        visited=set()
        index=0
        while head:
            if head in visited:
                mynode=head
                return mynode
            visited.add(head)
            head=head.next
        return None

        

思路:

  1. 跟环形链表1不同的是,这道题需要返回的值是成环的第一个元素
  2. 所以选择set记录每一个节点,set的本质是哈希表,查询时间复杂度是O(1)
相关推荐
啥都想学点的研究生6 分钟前
一篇文章讲清楚:C4.5决策树和CART决策树
算法·决策树·机器学习
DDXYcoder7 分钟前
万字解析动态内存从编译到运行
java·前端·算法
阳明山水11 分钟前
概念漂移分类与自适应策略解析
人工智能·深度学习·算法·机器学习·架构
欧特克_Glodon25 分钟前
OpenCV计算机视觉开发入门与实践<二十九>:grabCut算法分割图像
opencv·算法·计算机视觉·图像分割·grabcut 算法
方方洛1 小时前
vllm教程-02-核心原理
人工智能·算法·vllm
OPEN-F1 小时前
C++并发编程:异步任务与线程池实战
开发语言·c++·算法
凉茶钱2 小时前
【数据结构】计数排序
数据结构·算法·排序算法
_不会dp不改名_2 小时前
leetcode3875_构造奇偶一致的数组 I
leetcode
不正经学生7 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
毕竟是shy哥10 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习