题目描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

解题

  1. 快慢指针,fast走两步,slow走一步,当他们相遇时,fast走了一圈环,设环为n个节点,此时slow走的节点为x,则fast走x+n=2x,则有x=n。此时再令一个节点等于pHead和slow一起一次走一步,当他们相遇时,他们的节点为环的入口。
/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}
};
*/
class Solution {
public:ListNode* EntryNodeOfLoop(ListNode* pHead){if(pHead==NULL) return NULL;ListNode* fast=pHead;ListNode* slow=pHead;ListNode* res=pHead;int len=0;int flg=0;while(fast->next != NULL){fast=fast->next;if(slow->next != NULL) slow=slow->next;if(fast->next != NULL) fast=fast->next;if(fast->val==slow->val) flg++;if(flg==1){if(res->val==slow->val) break;res=res->next;}}if(flg==0) return NULL; // 没有环return res;}
};

剑指offer:链表中环的入口结点相关推荐

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

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

  2. python数据结构剑指offer-链表中环的入口结点

    例题 描述 给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null. 数据范围: n\le10000n≤10000,1<=结点值<=100001<=结点值& ...

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

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

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

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

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

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

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

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

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

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

  8. 链表中环的入口结点 python_链表中环的入口结点

    117 推荐 编辑于 2015-08-25 11:27:14 回复(43) 287 思路: 设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点(结论1).接 ...

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

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

最新文章

  1. js根据身份证号码判断性别和年龄
  2. mysql innodb_undo_directory默认_MySQL innodb_undo_tablespaces相关参数
  3. CodeForces - 1560F2 Nearest Beautiful Number (hard version)(二分+数位dp)
  4. C语言满分代码:1018 锤子剪刀布 (20分)(解题报告)
  5. Docker发布应用程序指南
  6. java国际化——Locale+数字格式
  7. YII 规则rule 里面 min,max 提示错误信息
  8. java 生成素数_java – 素数生成器逻辑
  9. 使用 Travis 自动部署 Hexo 到 Github 与 自己的服务器
  10. paip.提升安全性---WEB程序安全检测与防范
  11. 数字逻辑课程设计--电子闹钟
  12. 拉扎维对于简单CMOS电路的增益计算方法
  13. WPS2000的目录提取(转)
  14. NoteExpress
  15. 华为机考攻略(python)--字符串操作【9题】(第四题*HJ33整数与IP地址间的转换)
  16. 百田游戏2014笔试题——找到有序序列中某个值第一次出现的位置,并打印
  17. 沸点压力计算java_依据相律,恒沸混合物的沸点不随外压的改变而改变。
  18. Python模拟超级大乐透随机选号
  19. 树莓派TF卡低格,存储空间还原
  20. C语言实现浮点数大小端转化

热门文章

  1. 26.angularJS $routeProvider
  2. ubuntu和windows系统双系统的开机选项界面有很多无关选项
  3. 有人实践过 Phabricator 以及 Arcanist 作为 code review 的工具么?(转)
  4. java中的@Override是否需要
  5. linuxmysql乱码
  6. 小说里的lt什么意思_脂肪醇里的脂肪是什么意思
  7. 高通驱动9008安装_赛多利斯Sartorius-ambr? 250 高通量灌注培养系统
  8. 调链接_硬核科普 | 三根弹簧让你链接宇宙的混响效果器?!
  9. python代码由CPU - >GPU
  10. Win10 Terminal + WSL 2 安装配置指南,精致开发体验 - 知乎 (zhihu.com)