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读取html中指定元素生成excle文件示例
Apr 03 Python
用python实现百度翻译的示例代码
Mar 09 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
Django实现学员管理系统
Feb 26 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
Pandas分组与排序的实现
Jul 23 Python
Django项目中实现使用qq第三方登录功能
Aug 13 Python
python中树与树的表示知识点总结
Sep 14 Python
python super函数使用方法详解
Feb 14 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
Python实现归一化算法详情
Mar 18 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
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
javascript读取RSS数据
2007/01/20 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
Python3监控疫情的完整代码
2020/02/20 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
python安装后的目录在哪里
2020/06/21 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
酒店个人求职信范文
2014/01/25 职场文书
万年牢教学反思
2014/02/15 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
三八节主持词
2014/03/17 职场文书
滴水洞导游词
2015/02/10 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android