• 周二. 11 月 12th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

LeetCode题解之Unique Email Addresses

admin

11 月 28, 2021

1、题目描述

2、问题分析

将字符串中的 ‘.’ 去掉,将 ‘+’后面直到‘@’的字符串去掉,然后利用set的特性。

3、代码

 1 int numUniqueEmails(vector<string>& emails) {
 2         if (emails.size() == 0 || emails.size() == 1)
 3             return emails.size();
 4         
 5         set<string> se;
 6         
 7         for (vector<string>::iterator it = emails.begin(); it != emails.end(); it++) {
 8             string s = *it;
 9             auto itr = s.begin();
10             auto itp = s.begin();
11             bool isplus = false;
12             while (*itr != '@') {
13                 if (*itr == '.') {
14                     s.erase(itr-s.begin(),1);
15                 }
16                 
17                 if (*itr == '+') {
18                     itp = itr;
19                     while (*itr != '@')
20                         itr++;
21                     s.erase(itp, itr);
22                     break;
23                 }
24                 itr++;
25             }
26         
27            
28             se.insert(s);
29         }
30         
31         return se.size();
32     }

发表回复