一个链表中,如果有环则输出环的入口节点,否则输出NULL
来源:互联网 发布:java 大并发处理 编辑:程序博客网 时间:2024/06/07 04:11
1 利用快慢指针,如果有环,俩个指针一定在环内相遇,否则没有环
2 俩个指针相遇后,让其中一个从头开始遍历,另一个在相遇点遍历,相遇点记为入口点。
代码:
ListNode *detectCycle(ListNode *head) { if(head==NULL) return NULL; ListNode* slow=head; ListNode* fast=head; while(fast!=NULL&&fast->next!=NULL){ slow=slow->next; fast=fast->next->next; if(slow==fast) break; } if(fast==NULL || fast->next==NULL) return NULL; slow=head; while(fast!=slow){ fast=fast->next; slow=slow->next; } return slow; }
阅读全文
0 0
- 一个链表中,如果有环则输出环的入口节点,否则输出NULL
- C#基础-006(2)if练习 如果一个数是3的倍数 那么就输出"过" 否则输出该数
- 【HDU 4514】【树的直径 dfs或者并查集判断环】【给定一个无向图,图可能是非连通的,如果图中存在环,就输出YES,否则就输出树的直径】
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 判断一个数是否是质数,如果是,输出“is a prime!” 否则输出"is not a prime!"
- 输入一个字符串,如果第一个字符是大写并且其他字符不是大写,那么输出true,否则输出false。
- 从键盘上输入一个字符,如果它是小写字母,则把它转换成大写字母输出;否则,直接输出。
- 输入一个整数,如果该整数介于1到12之间,则输出对应的月份,比如输入为1,则输出”April“;否则输出”not valid month number
- 输入一个整数,如果该整数介于1到12之间,则输出对应的月份,比如输入为4,则输出”April“ -_-!;否则输出”not valid month number“
- 5.输入一个整数,如果该整数介于1到12之间,则输出对应的月份,比如输入为4,则输出”April“ -_-!;否则输出”not valid month number“
- 5.输入一个整数,如果该整数介于1到12之间,则输出对应的月份,比如输入为4,则输出”April“ -_-!;否则输出”not valid month number“
- C语言:模拟实现strstr函数,若是子串,输出子串后面的字符串,否则输出null
- 题目:①判断一个单向链表是否有环,如果有环则找到环的入口节点。 ②判断两个单向链表是否相交,如果相交则找到交点节点。
- java 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- Python使用pandas读取Excel文件数据和预处理小案例
- 树莓派3连接pi cam摄像头
- 1 Linux基础知识
- [Linux]进程与线程
- Java垃圾收集算法—深入理解Java虚拟机(七)
- 一个链表中,如果有环则输出环的入口节点,否则输出NULL
- C3P0错误APPARENT DEADLOCK!!!解决
- LinuxStudyNote(43)-RPM包查询命令、查询是否安装、查询包详细信息、查询包中文件安装位置、查询系统文件属于哪个rpm包、查询软件包的依赖性
- tomcat警告总结(待翻译)
- 欢迎使用CSDN-markdown编辑器
- 八大排序算法
- JVM——类加载器
- HotSpot虚拟机的算法实现——深入理解Java虚拟机(八)
- 刚一放假喵星人就要搞事情,还吸猫不?丨钛空舱最生活