엔지니어 게시판
LeetCode 솔루션 분류

# [Easy - wk6 - Q3] 141. Linked List Cycle

• Chloe 작성
• 작성일

• 614 조회
• 3 댓글

### 본문

Given `head`, the head of a linked list, determine if the linked list has a cycle in it.

There is a cycle in a linked list if there is some node in the list that can be reached again by continuously following the `next` pointer. Internally, `pos` is used to denote the index of the node that tail's `next` pointer is connected to. Note that `pos` is not passed as a parameter.

Return `true` if there is a cycle in the linked list. Otherwise, return `false`.

Example 1:

```Input: head = [3,2,0,-4], pos = 1
Output: true
Explanation: There is a cycle in the linked list, where the tail connects to the 1st node (0-indexed).
```

Example 2:

```Input: head = [1,2], pos = 0
Output: true
Explanation: There is a cycle in the linked list, where the tail connects to the 0th node.
```

Example 3:

```Input: head = [1], pos = -1
Output: false
Explanation: There is no cycle in the linked list.
```

Constraints:

• The number of the nodes in the list is in the range `[0, 104]`.
• `-105 <= Node.val <= 105`
• `pos` is `-1` or a valid index in the linked-list.

Follow up: Can you solve it using `O(1)` (i.e. constant) memory?

댓글 3

## namsoo님의 댓글

• namsoo
• 작성일
class Solution:
def hasCycle(self, head: Optional[ListNode]) -> bool:
nodes = set()
while node:
if node in nodes:
return True
node = node.next

return False

## 학부유학생님의 댓글

• 학부유학생
• 작성일
Runtime: 90 ms, faster than 32.19% of Python3 online submissions for Linked List Cycle.
Memory Usage: 17.7 MB, less than 29.61% of Python3 online submissions for Linked List Cycle.

``````# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
def hasCycle(self, head: Optional[ListNode]) -> bool:

while fast and fast.next:
fast = fast.next.next
slow = slow.next
if fast == slow: return True

return False``````

## Coffee님의 댓글

• Coffee
• 작성일
``````public class Solution {
ListNode dummy = new ListNode();

Set<ListNode> isVisited = new HashSet<>();
while(dummy.next != null){
if(isVisited.contains(dummy.next)){
return true;
}
dummy = dummy.next;
}

return false;

}
}``````
전체 175 / 1 페이지

• 등록일 21:33
• 등록일 20:51
• 등록일 19:57
• 등록일 18:58
• 등록일 18:48
• 등록일 17:52
• 등록일 17:49
• 등록일 17:47
• 등록일 16:26
• 등록일 16:24
• 등록일 16:21
• 등록일 16:18
• 등록일 16:16
• 등록일 16:14
• 등록일 16:10
• 등록일 16:07

### 새댓글

• 등록자 학부유학생 등록일 21:34
• 등록자 학부유학생 등록일 08.08
• 등록자 학부유학생 등록일 08.08
• 등록자 학부유학생 등록일 08.07
• 등록자 학부유학생 등록일 08.05
• 등록자 진호 등록일 08.05
• 등록자 JKP 등록일 08.05
• 등록자 Joy 등록일 08.04
• 등록자 학부유학생 등록일 08.02
• 등록자 mingki 등록일 08.02
• 등록자 학부유학생 등록일 08.01
• 등록자 mingki 등록일 07.31
• 등록자 학부유학생 등록일 07.31
• 등록자 학부유학생 등록일 07.31
• 등록자 학부유학생 등록일 07.30
• 등록자 Eujin 등록일 07.29

### Stats

• 현재 접속자 97 명
• 오늘 방문자 842 명
• 어제 방문자 858 명
• 최대 방문자 1,338 명
• 전체 회원수 315 명