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中取整的几种方法小结
Jan 06 Python
Pycharm学习教程(1) 定制外观
May 02 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
Python标准库笔记struct模块的使用
Feb 22 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
Feb 28 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
Python网页解析器使用实例详解
May 30 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
Django与数据库交互的实现
Jun 03 Python
Python OpenCV超详细讲解基本功能
Apr 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 和 MySQL 时区的一点总结
2008/03/26 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
js 函数的副作用分析
2011/08/23 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
办公室经理岗位职责
2014/01/01 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
运动会加油稿
2015/07/22 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
JavaScript流程控制(分支)
2021/12/06 Javascript
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏