当前位置:网站首页>[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;
}
};
边栏推荐
- Unity shot tracking object
- [leetcode] integer inversion [7]
- Use of snippets in vscode (code template)
- 【Leetcode】1352. Product of the last K numbers
- Research and investment forecast report of adamantane industry in China (2022 Edition)
- Personal required code
- Reverse one-way linked list of interview questions
- Do a small pressure test with JMeter tool
- Quick sort summary
- 2022/7/2 question summary
猜你喜欢
Research on the value of background repeat of background tiling
UE4/UE5 虚幻引擎,材质篇(三),不同距离的材质优化
win10虚拟机集群优化方案
669. Prune binary search tree ●●
Data is stored in the form of table
嵌入式数据库开发编程(零)
嵌入式数据库开发编程(六)——C API
Research on the value of background repeat of background tiling
Leetcode word search (backtracking method)
Ue4/ue5 illusory engine, material chapter, texture, compression and memory compression and memory
随机推荐
Chinese notes of unit particle system particle effect
Embedded database development programming (V) -- DQL
PR first time
Development error notes
质量体系建设之路的分分合合
Under the national teacher qualification certificate in the first half of 2022
LeetCode之单词搜索(回溯法求解)
2021-10-29
3dsmax2018 common operations and some shortcut keys of editable polygons
Download xftp7 and xshell7 (official website)
Solon Auth 认证框架使用演示(更简单的认证框架)
Solon Logging 插件的添加器级别控制和日志器的级别控制
National teacher qualification examination in the first half of 2022
Unity connects to the database
BUUCTF MISC
【Leetcode】1352. Product of the last K numbers
3dsmax scanning function point connection drawing connection line
MD5 bypass
3dsmax snaps to frozen objects
Heap sort summary