Python3实现的判断环形链表算法示例


Posted in Python onMarch 07, 2019

本文实例讲述了Python3实现的判断环形链表算法。分享给大家供大家参考,具体如下:

给定一个链表,判断链表中是否有环。

方案一:快慢指针遍历,若出现相等的情况,说明有环

# Definition for singly-linked list.
# class ListNode(object):
#   def __init__(self, x):
#     self.val = x
#     self.next = None
class Solution(object):
  def hasCycle(self, head):
    """
    :type head: ListNode
    :rtype: bool
    """
    slow = fast = head
    while fast and fast.next:
      slow = slow.next
      fast = fast.next.next
      if fast == slow:
        return True
    return False

方案二:遍历链表,寻找.next=head的元素。 但超出时间限制

# Definition for singly-linked list.
# class ListNode(object):
#   def __init__(self, x):
#     self.val = x
#     self.next = None
class Solution(object):
  def hasCycle(self, head):
    """
    :type head: ListNode
    :rtype: bool
    """
    if not head:
      return False
    cur = head.next
    while cur:
      if cur.next == head:
        return True
      cur = cur.next
    return False

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python入门篇之列表和元组
Oct 17 Python
python获取目录下所有文件的方法
Jun 01 Python
python实现给数组按片赋值的方法
Jul 28 Python
python opencv实现运动检测
Jul 10 Python
python高级特性和高阶函数及使用详解
Oct 17 Python
Python爬虫之正则表达式的使用教程详解
Oct 25 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
Python正则表达式急速入门(小结)
Dec 16 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
浅析Python 读取图像文件的性能对比
Mar 07 #Python
python try 异常处理(史上最全)
Mar 07 #Python
通过shell+python实现企业微信预警
Mar 07 #Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 #Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 #Python
Python二叉树的镜像转换实现方法示例
Mar 06 #Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 #Python
You might like
二级域名转向类
2006/11/09 Javascript
jquery 常用操作方法
2010/01/28 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
python pillow模块使用方法详解
2019/08/30 Python
python获取整个网页源码的方法
2020/08/03 Python
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
班班通项目实施方案
2014/02/25 职场文书
商业街策划方案
2014/05/31 职场文书
交通事故和解协议书
2014/09/25 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
OpenCV 图像梯度的实现方法
2021/07/25 Python
Python+Tkinter打造签名设计工具
2022/04/01 Python