题目描述:

方法一:

  1. class Solution(object):
  2. def hasCycle(self, head):
  3. """
  4. :type head: ListNode
  5. :rtype: bool
  6. """
  7. while head:
  8. if head.val == "daafas":
  9. return True
  10. else:
  11. head.val = "daafas":
  12. head = head.next
  13. return False

法二:判断某个元素是否在集合中只有O(1),

  1. class Solution(object):
  2. def hasCycle(self, head):
  3. """
  4. :type head: ListNode
  5. :rtype: bool
  6. """
  7. save = set()
  8. cur = head
  9. while cur is not None:
  10. if cur in save:
  11. return True
  12. else:
  13. save.add(cur)
  14. cur = cur.next
  15. return False

法三:指针追逐: O(n),O(1)

  1. class Solution(object):
  2. def hasCycle(self, head):
  3. """
  4. :type head: ListNode
  5. :rtype: bool
  6. """
  7. if not head or not head.next :
  8. return False
  9. a,b = head,head.next
  10. while a!=b:
  11. if b == None or b.next == None:
  12. return False
  13. else:
  14. a = a.next
  15. b = b.next.next
  16. return True
  1. // 找环节点的方法:
  2. // slow 走过 k 步,slow 的情人 fast 走过 2k 步他们在巴厘岛邂逅。
  3. // 意味着 slow 再走 k 步,一定又会回到巴厘岛。
  4. // slow 从巴厘岛出发,slow 的老公 green 先生从起点出发,两人同时走 k 步,最终会在巴厘岛相遇。这样就找到了环节点。
  5. // 我们并不关心 k 的值是多少,因为他们一定会在巴厘岛相遇。

leetcood学习笔记-141-环形列表的更多相关文章

  1. KVM虚拟化学习笔记系列文章列表(转)

    Kernel-based Virtual Machine KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之k ...

  2. python学习笔记(一)、列表和元祖

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...

  3. 【音乐App】—— Vue-music 项目学习笔记:歌曲列表组件开发

    前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 当前歌曲播放列表 添加歌曲 ...

  4. python 学习笔记二 (列表推导式)

    2018年年初写了第一篇博客,说要做一个认真的技术人 https://www.cnblogs.com/yingchen/p/8455507.html 今天已经是11月19日了,这是第二篇博客,看来坚持 ...

  5. leetcood学习笔记-20

    python字符串与列表的相互转换   学习内容: 1.字符串转列表 2.列表转字符串 1. 字符串转列表 str1 = "hi hello world" print(str1.s ...

  6. leetcood学习笔记-14*-最长公共前缀

    笔记: python if not   判断是否为None的情况 if not x if x is None if not x is None if x is not None`是最好的写法,清晰,不 ...

  7. leetcood学习笔记-54-螺旋矩阵

    题目描述: 第一次提交: class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: j,x = 0 ...

  8. Python学习笔记 第一课 列表

    Python的列表就像是一个数组: 一.创建列表 movies=["The Holy Grail","Then Life of Brian","The ...

  9. python学习笔记4(列表)

    列表是最通用的Python复合数据类型,列表中包含以逗号分隔,并在方括号([])包含的项目. 在一定程度上,列表相似C语言中的数组,它们之间的一个区别是,所有属于一个列表中的项目可以是不同的数据类型的 ...

随机推荐

  1. 使用Maven进行依赖管理和项目构建

    什么是Maven 1 依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包. 2 项目的构建:内置很多的插件与 ...

  2. 笔记64 Spring Boot快速入门(四)

    SpringBoot中错误处理.端口设置和上下文路径以及配置切换 一.错误处理 假设在访问首页的时候会出现一些错误,然后将这些错误当作异常抛出,反馈给用户. 1.修改IndexController.j ...

  3. Vue学习笔记【21】——Vue中的动画(v-for 的列表过渡)

    定义过渡样式:  <style>    .list-enter,    .list-leave-to {      opacity: 0;      transform: translat ...

  4. GERALD07加强版题解

    题目描述: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. 输入格式: 第一行四个整数N.M.K.type,代表点数.边数.询问数以及询问是否加密. 接下来M行,代表图 ...

  5. 随机生成一串字符串(java)

    该随笔为开发笔记 今天在公司接手了一个项目,在看该项目老代码时,发现上一位大佬写的随机取一串字符串还不错,在此做一次开发笔记 在他的基础上我做了点改动,但是原理一样 /** * 随机取一段字符串方法1 ...

  6. [bzoj1706]奶牛接力跑 题解 (矩阵快速幂(或者叫倍增Floyd?))

    Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目.至于进行接力跑的地点 自然是在牧场中现有的T(2 <= T < ...

  7. (转)OpenFire源码学习之八:MUC用户聊天室

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43413817 MUC 房间属性设置 以上属性存储在MUCPersistenceManag ...

  8. int在64位操作系统中占多少位?

    仍然是32位. 曾经是这样的:16位操作系统中,int 占16位:在32位操作系统中,int 占32位.但是现在人们已经习惯了 int 占32位,因此在64位操作系统中,int 仍为32位.64位整型 ...

  9. LIBRARY_PATH是编译时候用的,LD_LIBRARY_PATH是程序运行是使用的

    LD_LIBRARY_PATH与LIBRARY_PATH的区别 看起来很像,但是完全是两码事. LIBRARY_PATH is used by gcc before compilation to se ...

  10. springBoot使用PageHelper当超过最大页数后仍然返回数据

    在SpringBoot中使用PageHelper分页插件时,如果设置pagehelper.reasonable=true时,pageNum<=0 时会查询第一页, pageNum>page ...