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 list 合并连接字符串的方法
Mar 09 Python
python算法学习之桶排序算法实例(分块排序)
Dec 18 Python
Python转换HTML到Text纯文本的方法
Jan 15 Python
Python sys.argv用法实例
May 28 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Python的re模块正则表达式操作
May 25 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
Python sorted排序方法如何实现
Mar 31 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
详解Python flask的前后端交互
Mar 31 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的面向对象编程
2006/10/09 PHP
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
javascript getElementsByClassName实现代码
2010/10/11 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
JavaScript工具库之Lodash详解
2019/06/15 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
深入了解Django View(视图系统)
2019/07/23 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
为什么相对PHP黑python的更少
2020/06/21 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
销售代表求职自荐信
2013/10/01 职场文书
小学教师岗位职责
2013/11/25 职场文书
八年级物理教学反思
2014/01/19 职场文书
同事吵架检讨书
2014/02/05 职场文书
成龙洗发水广告词
2014/03/14 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
Fluentd搭建日志收集服务
2022/09/23 Servers