mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-12 05:20:59 +08:00
0142.环形链表II:添加C语言实现
This commit is contained in:
@ -328,5 +328,26 @@ extension ListNode: Equatable {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
C:
|
||||||
|
|
||||||
|
```c
|
||||||
|
ListNode *detectCycle(ListNode *head) {
|
||||||
|
ListNode *fast = head, *slow = head;
|
||||||
|
while (fast && fast->next) {
|
||||||
|
// 这里判断两个指针是否相等,所以移位操作放在前面
|
||||||
|
slow = slow->next;
|
||||||
|
fast = fast->next->next;
|
||||||
|
if (slow == fast) { // 相交,开始找环形入口:分别从头部和从交点出发,找到相遇的点就是环形入口
|
||||||
|
ListNode *f = fast, *h = head;
|
||||||
|
while (f != h) f = f->next, h = h->next;
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||||
|
Reference in New Issue
Block a user