提交 afad22e3 编写于 作者: jhaos's avatar jhaos

Add new file

上级 42a880df
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 `null`
为了表示给定链表中的环,我们使用整数 `pos` 来表示链表尾连接到链表中的位置(索引从 `0` 开始)。 如果 `pos``-1`,则在该链表中没有环。
**说明:** 不允许修改给定的链表。
**示例 1:**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201010132448200.png#pic_center)
```
输入:head = [3,2,0,-4], pos = 1
输出:tail connects to node index 1
解释:链表中有一个环,其尾部连接到第二个节点。
```
**示例 2:**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201010132455237.png#pic_center)
```
输入:head = [1,2], pos = 0
输出:tail connects to node index 0
解释:链表中有一个环,其尾部连接到第一个节点。
```
**示例 3:**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201010132500799.png#pic_center)
```
输入:head = [1], pos = -1
输出:no cycle
解释:链表中没有环。
```
**进阶:**
你是否可以不用额外空间解决此题?
通过次数 `134,246` | 提交次数 `252,898`
**代码实现**
```python
# Definition for singly-linked list.
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def detectCycle(self, head: ListNode) -> ListNode:
slow,fast = head, head
while slow and fast and fast.next:
slow = slow.next
fast = fast.next.next
if slow == fast:
slow = head
while slow != fast:
slow = slow.next
fast = fast.next
return slow
else:
return None
```
```
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/linked-list-cycle-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册