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中的二叉树查找算法模块使用指南
Jul 04 Python
目前最全的python的就业方向
Jun 05 Python
Python登录注册验证功能实现
Jun 18 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
初学者学习Python好还是Java好
May 26 Python
Django给表单添加honeypot验证增加安全性
May 06 Python
Python开发五子棋小游戏
May 02 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程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
php 数据结构之链表队列
2017/10/17 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
基于jquery的滑动样例代码
2010/11/20 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
详解vue 组件
2020/06/11 Javascript
python文件与目录操作实例详解
2016/02/22 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
优秀村官事迹材料
2014/01/10 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书