#ifndef S0142_LINKED_LIST_CYCLE_HPP #define S0142_LINKED_LIST_CYCLE_HPP #include struct ListNode { int val; ListNode* next; ListNode(int x) : val(x), next(nullptr) {} }; struct IterResult { ListNode *node; bool meet; }; class S0142 { public: std::unordered_map footprint; IterResult iter(ListNode *fast, ListNode* slow, bool startUp); ListNode *detectCycle(ListNode *head); }; #endif