SHORT & SWEET || EASY TO UNDERSTAND || C++
\nclass Solution {\npublic:\n    int numUniqueEmails(vector<string>& emails) {\n        unordered_set<string> s1;\n        string str = "";\n        int i,n;\n 
````\nclass Solution {\npublic:\n    int numUniqueEmails(vector<string>& emails) {\n        unordered_set<string> s1;\n        string str = "";\n        int i,n;\n        bool k = false;\n        for(auto &s: emails){\n            str = "";\n            n = s.length();\n            k = false;\n            for(i = 0; i < n;i++){\n                if(s[i]==\'@\'){\n                    str = str +\'@\';\n                    k = true;\n                }else if(k){\n                    str = str + s[i];\n                }else if(s[i]==\'+\'){\n                    while(s[i] != \'@\'){\n                        i++;\n                    }\n                    i--;\n                }else if(s[i]==\'.\'){\n                    continue;\n                }else{\n                    str = str+s[i];\n                }\n            }\n            cout<<str<<endl;\n            s1.insert(str);\n        }\n        return s1.size();\n    }\n};\n````
['String', 'C', 'Ordered Set', 'C++']