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 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
批量将ppt转换为pdf的Python代码 只要27行!
Feb 26 Python
python中的json总结
Oct 11 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
详解Python 最短匹配模式
Jul 29 Python
Python包资源下载路径报404解决方案
Nov 05 Python
Python使用Pygame绘制时钟
Nov 29 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
python 模块重载的五种方法
Apr 24 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
php 什么是PEAR?(第三篇)
2009/03/19 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
python生成器表达式和列表解析
2016/03/10 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
Python微信操控itchat的方法
2019/05/31 Python
Python3离线安装Requests模块问题
2019/10/13 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
python调用win32接口进行截图的示例
2020/11/11 Python
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
教师自查自纠材料
2014/10/14 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android