C++ || Using Linked List
\nListNode *head;\n    MyHashSet() {\n        head=new ListNode(-1);\n    }\n    \n    void add(int key) {\n        ListNode *p=head;\n        while(p->next!=NU
```\nListNode *head;\n    MyHashSet() {\n        head=new ListNode(-1);\n    }\n    \n    void add(int key) {\n        ListNode *p=head;\n        while(p->next!=NULL){\n            if(p->val==key){\n                return ;\n            }\n            p=p->next;\n        }\n        if(p->val==key){\n            return ;\n        }else{\n            ListNode *temp=new ListNode(key);\n            p->next=temp;\n        }\n    }\n    \n    void remove(int key) {\n        ListNode *p=head;\n        while(p->next!=NULL){\n            if(p->next->val==key){\n                break;\n            }\n            p=p->next;\n        }\n        if(p->next==NULL){\n            return ;\n        }\n        ListNode *temp = p->next;\n        p->next=temp->next;\n        delete(temp);\n    }\n    \n    /** Returns true if this set contains the specified element */\n    bool contains(int key) {\n        ListNode *p=head;\n        while(p!=NULL){\n            if(p->val==key){\n                return true;\n            }\n            p=p->next;\n        }\n        return false;\n    }\n```
['Linked List', 'C', 'C++']