博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python/M/142】Linked List Cycle II
阅读量:2171 次
发布时间:2019-05-01

本文共 747 字,大约阅读时间需要 2 分钟。

题目

这里写图片描述

实现思路

思路比较巧妙,参考剑指offer或者。

实现代码

# Definition for singly-linked list.# class ListNode(object):#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution(object):    def detectCycle(self, head):        """        :type head: ListNode        :rtype: ListNode        """        if head == None or head.next == None:            return None        fp = sp = head        # 快指针走两步,慢指针走一步,找到环        while fp and fp.next:            sp = sp.next            fp = fp.next.next            if sp == fp:                break        if sp == fp:            # 让慢指针回到起点,同时快慢指针相遇的时候就是环的入口            sp = head            while sp != fp:                sp = sp.next                fp = fp.next            return sp        return None
你可能感兴趣的文章
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>