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搜索指定目录的方法
Apr 29 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
python迭代dict的key和value的方法
Jul 06 Python
Django之编辑时根据条件跳转回原页面的方法
Aug 21 Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
Jul 14 Python
pandas to_excel 添加颜色操作
Jul 14 Python
python实现调用摄像头并拍照发邮箱
Apr 27 Python
python之基数排序的实现
Jul 26 Python
Python Matplotlib库实现画局部图
Nov 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 获取可变函数参数的函数
2009/08/26 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
python八皇后问题的解决方法
2018/09/27 Python
python实现flappy bird小游戏
2018/12/24 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
简历上的自我评价怎么写
2014/01/28 职场文书
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
贺卡寄语大全
2014/04/11 职场文书
股东协议书
2014/04/14 职场文书
数学教育专业求职信
2014/07/22 职场文书
2014年内勤工作总结
2014/11/24 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js