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实现竖排打印传单手机号码易撕条
Mar 16 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
Selenium元素的常用操作方法分析
Aug 10 Python
python selenium firefox使用详解
Feb 26 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
详解Python中的分支和循环结构
Feb 11 Python
详解python如何引用包package
Jun 07 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 Python
Python与C++中梯度方向直方图的实现
Mar 17 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和ACCESS写聊天室(一)
2006/10/09 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
php json相关函数用法示例
2017/03/28 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
python去除所有html标签的方法
2015/05/05 Python
儿童python练习实例
2018/05/27 Python
Python版名片管理系统
2018/11/30 Python
python创造虚拟环境方法总结
2019/03/04 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
一份Java笔试题
2012/02/21 面试题
业务主管岗位职责范本
2013/12/25 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
退伍军人感言
2015/08/01 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android
SQL SERVER中的流程控制语句
2022/05/25 SQL Server