int numUniqueEmails(vector<string>& emails) {
int m=emails.size();
int first,last,dst;
bool flag=false;
vector<string> res;
for(int i=0;i<m;i++)
{
string name = emails[i].substr(0, emails[i].find("@"));//把邮件拆分成两部分,姓名和域名
string domain = emails[i].substr(emails[i].find("@"));
first=name.find('+'); //查找是否有+号
if(first!=-1)//如果有+号 删除+到@的内容
{
//@字符下标
dst=name.size()-first; //@到+号之间有几个字符
name.erase(first,dst);
}
first = name.rfind('.',first);
while (first != string::npos)//如果找到.
{
name.erase(first, 1);
first = name.rfind('.', first);
}
flag=true;
string temp = name+domain;
for(int j=0;j<res.size();j++) //检查res中是否有这样的email地址
{
if(temp.compare(res[j])==0)
flag=false;
}
if(flag==true) //如果res中没有这样的email地址,存入res
res.push_back(temp);
}
return res.size();
}
leet code929独特的邮件c++写法 24ms,
最新推荐文章于 2022-03-06 10:42:19 发布