코딩테스트 준비/leetcode

141. Linked List Cycle

MAKGA 2021. 8. 17. 23:25
320x100

https://leetcode.com/problems/linked-list-cycle/

 

Linked List Cycle - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

포인터로 연결된 목록이 주어졌을 때, 구성하는 목록이 순회하는지 여부를 반환하는 문제다.

 

스스로 풀기

[C++]

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    bool hasCycle(ListNode *head) {
        unordered_set<ListNode*> cache;
        
        while(head)
        {
            auto search = cache.find(head);
            if (search == cache.end()) {
                cache.insert(head);
            }
            else {
                return true;
            }
            
            head = head->next;
        }
        
        return false;
    }
};

 

 

Discuss를 봐도 왜 되는지 이해안되네;

320x100

'코딩테스트 준비 > leetcode' 카테고리의 다른 글

86. Partition List  (0) 2021.08.19
78. Subsets  (0) 2021.08.18
83. Remove Duplicates from Sorted List  (0) 2021.08.11
88. Merge Sorted Array  (0) 2021.08.10
14. Longest Common Prefix  (0) 2021.08.09