若不考虑进一步的要求。顺序遍历链表所有节点,若出现重复访问则说明有环,否则说明无环。这里注意不能用list保存访问过的节点,查找太慢了;用dict保存还要考虑到键不能是对象,所以这里采取以对象的id作为键的做法。

给定一个链表,判断其中是否有环。
进一步:你能在不使用额外空间的情况下解决吗?

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution(object):def hasCycle(self, head):""":type head: ListNode:rtype: bool"""map = {}while head:if id(head) in map:return Trueelse:map[id(head)] = Truehead = head.nextreturn False
class Solution(object):def hasCycle(self, head):map = {}while head:if id(head) in map:return Trueelse:map[id(head)] = Truehead = head.nextreturn False

Linked List Cycle给定一个链表,判断其中是否有环。相关推荐

  1. 环形链表。给定一个链表,判断链表中是否有环。(GO、PHP)

    给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引 ...

  2. 给定一个链表,判断链表中是否有环

    给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引 ...

  3. 142. Linked List Cycle II 环形链表 II

    给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 - ...

  4. Leetcode142. Linked List Cycle II环形链表2

    给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 说明:不允许修改给定的链表. 进阶: 你是否可以不用额外空间解决此题? 方法一:使用map 方法二: 分两个步骤,首先通 ...

  5. 给定一个整数判断是否为素数_Ruby程序检查给定数字是否为素数

    给定一个整数判断是否为素数 检查素数 (Checking prime number) Before getting into writing the code, let us understand w ...

  6. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 要求:从键盘输入两个字符串,第一个是给定的字符串,第二个是子串。

    给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 要求:从键盘输入两个字符串,第一个是给定的字符串,第二个是子串. 输入 abcd23abc34bcd bc 输出 1 ...

  7. 【Java】环形链表 ( 给定一个链表,判断链表中是否有环)

    题目描述 :给你一个链表的头节点 head ,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,评测系统内部使用整数 po ...

  8. LeetCode 142. Linked List Cycle II--单向链表成环的起点--C++,Python解法

    题目地址:Linked List Cycle II - LeetCode Given a linked list, return the node where the cycle begins. If ...

  9. 给定一个链表,一次颠倒链表k的节点并返回其修改列表。如果节点的数量不是k的倍数,那末最后的剩余节点应该保持原样。

    本题源自LeetCode -------------------------------------------------------------------- 思路: 利用栈结构的解法,时间复杂度 ...

  10. 【算法】给定一个链表,判断链表中是否有环

    文章目录 1.概述 2.题目 2.1 方法1: 2.2 方法2: 2.2.1 算法 3.解题思路 4.问题扩展 4.1 求出环的长度 4.2 扩展问题2:求出入环节点 4.3 求环长度代码 4.4 求 ...

最新文章

  1. 如何活着:欲望、外界、标签、天才、时间、人生目标和经历
  2. android编程中setLayoutParams方法设置
  3. Android学习笔记:TabHost 和 FragmentTabHost(转)
  4. linux下kafka安装与配置
  5. Linux shell 的条件 / 比较语法
  6. 英特尔曾遭“经验老道”的黑客攻击
  7. android实现应用程序仅仅有在第一次启动时显示引导界面
  8. php居民小区物业管理系统
  9. 【ISO】Windows10系统ISO镜像怎么从微软官网下载?
  10. 全球及中国第三方物流行业竞争格局与十四五运作模式咨询报告2022版
  11. 百练_2801:填词
  12. mysql explain关键字解析
  13. 所谓键位冲突和无冲突的各种原理
  14. 注意前方,有月亮出现
  15. 1dB增益压缩点概述及测试
  16. vs2017下libcef配置
  17. Javaweb基础知识
  18. PCB数字地,模拟地,电源地
  19. 数据骗子无处不在,教你拆穿所谓“万金油”
  20. 1.6编程基础之一维数组 10大整数加法

热门文章

  1. 电脑怎么用c语言写丘比特,转载乌鸦丘比特 的24点程序
  2. Oracle中使用SQL语句修改字段类型
  3. 入门笔记 Day two
  4. 领域驱动设计系列 (六):CQRS
  5. Sql Server 全文检索
  6. 关于PS中切图的保存
  7. NLog文章系列——入门教程(转)
  8. Java获取字符串的MD5值和根据邮箱获取Gravatar头像
  9. 数据分析(一):数据的读写(文件、数据库)
  10. 2020中考可不可以用计算机,2020北京中考录取规则:北京中考计算机的录取规则...