【力扣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)
相关推荐
TechNomad7 小时前
排序算法:希尔排序算法
数据结构·算法·排序算法
热爱生活的猴子8 小时前
算法中DFS & BFS 核心学习笔记
算法·深度优先·宽度优先
im_AMBER8 小时前
Leetcode 83 使数组平衡的最少移除数目中等相关标签 | 尽可能使字符串相等
数据结构·c++·笔记·学习·算法·leetcode
XFF不秃头8 小时前
力扣刷题笔记-组合总和
c++·笔记·leetcode
TechNomad8 小时前
排序算法:快速排序算法
算法·排序算法
xu_yule8 小时前
算法基础(图论)—拓扑排序
c++·算法·动态规划·图论·拓扑排序·aov网
mu_guang_8 小时前
算法图解1-算法简介
算法·cpu·计算机体系结构
CoovallyAIHub8 小时前
超越CUDA围墙:国产GPU在架构、工艺与软件栈的“三维替代”挑战
深度学习·算法·计算机视觉
不穿格子的程序员8 小时前
从零开始写算法——二叉树篇2:二叉树的最大深度 + 翻转二叉树
算法·二叉树·深度优先
小O的算法实验室8 小时前
2024年IEEE TAES SCI2区,一种改进人工电场算法用于机器人路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进