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
Python实现k-means算法
Feb 23 Python
Python实现线程状态监测简单示例
Mar 28 Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
May 26 Python
keras得到每层的系数方式
Jun 15 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 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
ThinkPHP模型详解
2015/07/27 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
vue项目中使用fetch的实现方法
2019/04/25 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
浅析Python中的多条件排序实现
2016/06/07 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
Python内置函数locals和globals对比
2020/04/28 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
J2EE面试题
2016/03/14 面试题
优秀医生事迹材料
2014/02/12 职场文书
技能比赛获奖感言
2014/02/14 职场文书
《风筝》教学反思
2014/04/10 职场文书
白酒营销策划方案
2014/08/17 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
师德师风自查总结
2014/10/14 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python