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随机生成一个6位的验证码代码分享
Mar 24 Python
Python爬取京东的商品分类与链接
Aug 26 Python
linux安装python修改默认python版本方法
Mar 31 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
python如何制作缩略图
Apr 30 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
python面试题之列表声明实例分析
Jul 08 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
Mar 03 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 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与javascript对多项选择的处理
2006/10/09 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php中memcache 基本操作实例
2015/05/17 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
基于JSONP原理解析(推荐)
2017/12/04 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
原生JavaScript实现刮刮乐
2020/09/29 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
三维科技面试题
2013/07/27 面试题
体育学院毕业生自荐信
2013/11/03 职场文书
大专生简历的自我评价
2013/11/26 职场文书
抄作业检讨书
2014/02/17 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
见习报告的格式
2014/10/31 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
无房证明样本
2015/06/17 职场文书
2016年记者节感言
2015/12/08 职场文书