2024/12/2【链表】LeetCode 142 环形链表 II 【X】

题目链接: https://leetcode.cn/problems/linked-list-cycle-ii/description/

题解链接: https://www.programmercarl.com/0142.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8II.html#%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80%E7%89%88%E6%9C%AC

没做出来😀

知识点1:快慢指针判断有没有环

知识点2:用数学公式推导出从头节点到环形入口节点的距离x等于快慢指针相遇节点到环形入口节点的距离z

解法2:集合法

很简单,集合的编码不熟,所有没有想到

复制代码
# 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]:
        #集合法
        visited = set()
        
        while head:
            if head in visited:
                return head
            visited.add(head)
            head = head.next
        
        return None
复制代码

 

posted @   axuu  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示