例题

描述
给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。

数据范围: n\le10000n≤10000,1<=结点值<=100001<=结点值<=10000
要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)

例如,输入{1,2},{3,4,5}时,对应的环形链表如下图所示:

解决方案

    def EntryNodeOfLoop(self, pHead):# write code herelst = set()p1 = pHeadwhile p1:if p1 in lst:print(p1.val)
#                 return p1breaklst.add(p1)p1 = p1.nextreturn p1

总结

使用集合完美解决,不知道这算不算暴力递归?毕竟链表太长的时候一个一个来有点多,或者用快慢指针来解决,但是总感觉代码太多,不优雅

python数据结构剑指offer-链表中环的入口结点相关推荐

  1. 剑指Offer——链表中环的入口结点

    题目描述: 一个链表中包含环,请找出该链表的环的入口结点. 分析: 设置两个指针p1,p2, 两个指针都从链表的头部开始走,不过p1每次走一步,p2每次走两步. 直到相遇的时候,p2走的长度是p1的两 ...

  2. 剑指offe55--链表中环的入口结点

    给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 做这个题之前,我们应该先明白链表有环是什么的样的情况,理解的什么链表中有环的样子,我们就可以来理解这个题的思路的.这个题分两 ...

  3. 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...

  4. 链表中环的入口结点 python_【Github 5K星】BAT头条滴滴小米等笔试面经+深度学习/算法/NLP资源汇总!...

    最近,在GitHub上有位id为imhuay的热心人带头建立了一个关于国内知名互联网企业笔试和面试经验的资源库,光从名称上就能看出其内容有多丰富:<2018/2019/校招/春招/秋招/算法/机 ...

  5. 链表2--JZ25复杂链表的复制JZ36两个链表的第一个公共结点JZ55链表中环的入口结点JZ56删除链表中重复的结点

    JZ25复杂链表的复制 >>点击此链接 JZ36两个链表的第一个公共结点 题目描述 输入两个无环的单链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他 ...

  6. python数据结构剑指offer-从尾到头打印链表

    例题 描述 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回). 如输入{1,2,3}的链表如下图: 返回一个数组为[3,2,1] 0 <= 链表长度 <= 1000 ...

  7. 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...

    点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...

  8. 划水总结剑指offer 链表系列1

    最近在找实习,发现面试题和oj的题差距蛮大的,然后粗略的刷了一遍剑指offer.希望6月中旬前能拿个实习(捂脸哭) 1.首先总结关于链表的题. (1)从尾到头打印一个链表.像我这样的憨憨上来就想 这不 ...

  9. 力扣-图解算法数据结构-剑指 Offer 05. 替换空格

    题目要求 力扣题解 代码 /*** @program: mydemo* @description: 剑指 Offer 05. 替换空格* @author: Mr.zeng* @create: 2021 ...

最新文章

  1. springmvc和mybatis整合关键配置
  2. android 高德地图纠偏,高德地图纠偏算法(android ,ios)
  3. POJ 3169 差分约束
  4. Android --- 动态获取定位权限时: Fragment 中 onRequestPermissionsResult 方法不执行
  5. C#日期控件(js版)
  6. python pandas dataframe 排序,如何按两列或更多列对python pandas中的dataFrame进行排序?...
  7. Java工作笔记-IntelliJ IDEA中高效文件切换跳转
  8. 深度学习入行门槛太低,不开心!
  9. 【动态规划笔记】01背包问题及优化
  10. [转载] python中的MySQLdb模块
  11. FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
  12. (转)如何编写testbench的总结(非常实用的总结)
  13. RPC与Apache Thift
  14. pip install
  15. 中美大学生阅读书单大公开,哈佛和北大差异这么大!
  16. 个人知识管理(PKM)实施
  17. Google Earth Engine ——QGIS中计算加权质心
  18. 程序员面试必备,HR 的那些黑话大全,太真实了!
  19. 基于c#的区块链编程_3.区块链 · C#区块链编程入门教程-巴比特图书
  20. 一种简单、安全的Dota全图新思路

热门文章

  1. 乐观锁 VS 悲观锁(简述)
  2. Java-网络编程总结(转载)
  3. 卸载python的正确姿势
  4. Java springcloud B2B2C o2o多用户商城 springcloud架构
  5. 云计算学习教程,Python自动化运维开发实战
  6. Android JNI 学习(十):String Operations Api Other Apis
  7. Java程序员的日常—— IOUtils总结
  8. linux修改文件打开最大数(ulimit命令)
  9. oracle 11g 存储结构和数据文件
  10. 怎样搭建本地svn服务器环境-轻松掌握版本管理