给与一组
@
前我们称为local name
,@
后称为domain name
。现规定只可以出现小写字母和字符.
、+
。 其中.
可以忽略, 如 `alice.z@leetcode.com和
al.icez@leetcode.com都表示
alicez@leetcode.com。
+出现在
local name中时,将忽略第一个
+后的所有内容,如
m.y+name@email.com和
m.y@email.com都表示
my@email.com`。
按照题意,先取 local name
的第一个字符到第一个加号之前的内容, 然后删除其中的所有 .
, 并与 @
后的 domain name
拼接, 将结果放入 Set 集合中,最后返回 Set 的长度即可。
class Solution {
public int numUniqueEmails(String[] emails) {
Set<String> set = new HashSet<>();
for (String email : emails) {
int start = email.indexOf("+");
int end = email.indexOf("@");
String localName = email.substring(0, start);
localName = localName.replace(".", "");
String domainName = email.substring(end, email.length());
set.add(localName + domainName);
}
return set.size();
}
}
Runtime: 35 ms, faster than 63.93% of Java online submissions for Unique Email Addresses.