JAVA genuine solution Linked List
\nclass Node{\n    Node next;\n    int val;\n    public Node(int key){\n        this.val=key;\n        this.next=null;\n    }\n}\nclass MyHashSet {\n    Node he
```\nclass Node{\n    Node next;\n    int val;\n    public Node(int key){\n        this.val=key;\n        this.next=null;\n    }\n}\nclass MyHashSet {\n    Node head;\n    public MyHashSet() {\n       head=null; \n    }\n    \n    public void add(int key) {\n        if(head==null) \n        {\n            head= new Node(key);\n            return;\n        }\n        boolean doesExists=contains(key);\n        if(!doesExists){\n            Node temp=head;\n            while(temp.next!=null)\n                temp=temp.next;\n            \n            temp.next=new Node(key);\n        }\n    }\n    \n    public void remove(int key) {\n        if(head==null) return;\n        if(head.val==key){\n            head=head.next;\n            return;\n        }\n        \n        Node temp=head;\n        while(temp.next!=null){\n            if(temp.next.val==key)\n                temp.next=temp.next.next;\n            else\n                temp=temp.next;\n        }\n    }\n    \n    public boolean contains(int key) {\n        if(head==null) return false;\n        if(head.val==key) return true;\n        \n        Node temp=head;\n        while(temp.next!=null){\n            if(temp.next.val==key) return true;\n            temp=temp.next;\n        }\n        return false;\n    }\n}\n\n/**\n * Your MyHashSet object will be instantiated and called as such:\n * MyHashSet obj = new MyHashSet();\n * obj.add(key);\n * obj.remove(key);\n * boolean param_3 = obj.contains(key);\n */\n ```
['Linked List', 'Java']