Skip to content

Latest commit

 

History

History
28 lines (26 loc) · 877 Bytes

142.环形链表II.md

File metadata and controls

28 lines (26 loc) · 877 Bytes
// 定义一个 Solution 类
class Solution {
public:
    // 定义一个成员函数,返回类型为 ListNode*
    ListNode *detectCycle(ListNode *head) {
        // 声明一个无序集合,用于存储链表节点
        unordered_set<ListNode*> unset;
        // 定义一个指向头结点的指针
        ListNode* cur = head;
        // 当当前指针不为空时,执行以下循环体
        while (cur) {
            // 如果集合中已经存在当前节点,则说明链表有环,返回当前节点
            if (unset.count(cur) > 0) {
                return cur;
            }
            // 否则将当前节点加入集合
            unset.insert(cur);
            // 将当前指针指向下一个节点
            cur = cur->next;
        }
        // 如果链表没有环,则返回空指针
        return nullptr;
    }
};