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守护进程(daemon)代码实例
Mar 06 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
python套接字流重定向实例汇总
Mar 03 Python
python实现按行切分文本文件的方法
Apr 18 Python
python用装饰器自动注册Tornado路由详解
Feb 14 Python
Python 多线程的实例详解
Sep 07 Python
使用python对excle和json互相转换的示例
Oct 23 Python
python3下载抖音视频的完整代码
Jun 05 Python
python利用faker库批量生成测试数据
Oct 15 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 Python
Python机器学习之底层实现KNN
Jun 20 Python
python中pymysql包操作数据库方法
Apr 19 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取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
php数组指针操作详解
2017/02/14 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
Javascript this指针
2009/07/30 Javascript
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
js的对象与函数详解
2019/01/21 Javascript
js回调函数仿360开机
2019/12/26 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
python 判断一个进程是否存在
2009/04/09 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
Python request使用方法及问题总结
2020/04/26 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
servlet面试题
2012/08/20 面试题
《自选商场》教学反思
2014/02/14 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
经典导游欢迎词
2015/01/26 职场文书
小学教师教学随笔
2015/08/14 职场文书
Java设计模式之代理模式
2022/04/22 Java/Android