【力扣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)
相关推荐
CoderYanger14 小时前
递归、搜索与回溯-记忆化搜索:40.矩阵中的最长递增路径
java·线性代数·算法·leetcode·矩阵·1024程序员节
报错小能手14 小时前
数据结构 不带头结点的双向循环链表
数据结构·算法·链表
李玮豪Jimmy14 小时前
Day26:贪心算法part4(452.用最少数量的箭引爆气球、435.无重叠区间、763.划分字母区间)
算法·贪心算法
秋深枫叶红14 小时前
嵌入式第二十五篇——数据结构单向链表
c语言·数据结构·学习·算法
乌萨奇也要立志学C++14 小时前
【洛谷】二分答案专题 3 道洛谷经典题(木材 / 砍树 / 跳石头)精讲
c++·算法
Liangwei Lin14 小时前
洛谷 P1464 Function
算法
代码游侠14 小时前
数据结构——单向链表
linux·开发语言·数据结构·学习·算法·链表
CoovallyAIHub14 小时前
AI 项目如何避免“烂尾”?怎么选择才能让AI项目长期奔跑?
人工智能·算法·计算机视觉
qq_4308558814 小时前
线性代数第一章第一课: 二阶三阶行列式
线性代数·算法·矩阵
量子炒饭大师15 小时前
Cyber骇客的数据链路重构 ——【初阶数据结构与算法】线性表之单链表
c语言·数据结构·c++·windows·git·链表·github