当前位置:网站首页>[speed pointer] 142 circular linked list II
[speed pointer] 142 circular linked list II
2022-07-05 05:16:00 【lee2813】
One 、 subject
Given a linked list , Return to the first node of the link where the list begins to enter . If the list has no links , Then return to null.
If there is a node in the linked list , It can be done by continuously tracking next The pointer reaches again , Then there is a ring in the linked list . To represent a ring in a given list , The evaluation system uses an integer pos To indicate where the end of the list is connected to the list ( Index from 0 Start ). If pos yes -1, There are no links in the list . Be careful :pos Not passed as an argument , Just to identify the actual situation of the linked list .
No modification allowed Linked list .
Example 1:
Input :head = [3,2,0,-4], pos = 1
Output : The return index is 1 The linked list node of
explain : There is a link in the list , Its tail is connected to the second node .
Example 2:

Input :head = [1,2], pos = 0
Output : The return index is 0 The linked list node of
explain : There is a link in the list , Its tail is connected to the first node .
Example 3:

Input :head = [1], pos = -1
Output : return null
explain : There are no links in the list .
Two 、 Answer key
For the link list to find the loop problem , There is a general solution —— Fast and slow pointer method :
Given that both pointers point to the starting point , One for fast pointer , Move two steps at a time ; One is a slow pointer , One step at a time . If the fast pointer can go to the end , Explain the Fifth Ring Road , Otherwise there is a loop .
After confirming that there is a loop , How to find the starting point of the loop ?
- First, when determining the loop , The end condition is that the speed pointer meets for the first time
- Then the fast pointer is reset to the starting point , Slow hands don't move , When moving the second time, the fast and slow pointer moves only one step each time , Until the second meeting , At this time, the point of meeting is the starting point of the loop .
3、 ... and 、 Code
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */
class Solution {
public:
ListNode *detectCycle(ListNode *head) {
ListNode* fast = head;
ListNode* slow = head;
do{
if(!fast || !fast->next) return nullptr;
fast = fast->next->next;
slow = slow->next;
}while(fast!=slow);
fast = head;
while(fast!=slow){
fast = fast->next;
slow = slow->next;
}
return fast;
}
};
边栏推荐
- When will Wei Lai, who has been watched by public opinion, start to "build high-rise buildings" again?
- 质量体系建设之路的分分合合
- Establish cloth effect in 10 seconds
- C语言杂谈1
- Sqlserver stored procedures pass array parameters
- [turn to] MySQL operation practice (III): table connection
- 【论文笔记】Multi-Goal Reinforcement Learning: Challenging Robotics Environments and Request for Research
- Unity parallax infinite scrolling background
- 669. Prune binary search tree ●●
- Unity find the coordinates of a point on the circle
猜你喜欢

《动手学深度学习》学习笔记

Learning notes of "hands on learning in depth"

小程序直播+电商,想做新零售电商就用它吧!

Establish cloth effect in 10 seconds

Unity3d learning notes

National teacher qualification examination in the first half of 2022
![[turn to] MySQL operation practice (III): table connection](/img/70/20bf9b379ce58761bae9955982a158.png)
[turn to] MySQL operation practice (III): table connection

Panel panel of UI

Reverse one-way linked list of interview questions

JVM call not used once in ten years
随机推荐
[转]MySQL操作实战(一):关键字 & 函数
Bucket sort
Establish cloth effect in 10 seconds
支持多模多态 GBase 8c数据库持续创新重磅升级
Research on the value of background repeat of background tiling
Generate filled text and pictures
Vs2015 secret key
【Leetcode】1352. Product of the last K numbers
FVP和Juno平台的Memory Layout介绍
2022/7/2 question summary
Lua determines whether the current time is the time of the day
[转]: OSGI规范 深入浅出
UE4/UE5 虚幻引擎,材质篇(三),不同距离的材质优化
China polyurethane rigid foam Market Research and investment forecast report (2022 Edition)
发现一个很好的 Solon 框架试手的教学视频(Solon,轻量级应用开发框架)
远程升级怕截胡?详解FOTA安全升级
Chinese notes of unit particle system particle effect
Embedded database development programming (V) -- DQL
Ue4/ue5 illusory engine, material part (III), material optimization at different distances
Time format conversion