执行用时:
9 ms, 在所有 Java 提交中击败了93.86%的用户
内存消耗:
38.1 MB, 在所有 Java 提交中击败了99.27%的用户
思路:
1.遍历字符串数组
2.将String包装到StringBuilder中,通过replace()方法将+与@之间的字符串替换成空字符串
3.将2得到的结果遍历替换掉@符号之前的所有"."符号
4.将字符串放入HashSet中
5.返回HashSet的size()
class Solution {
public int numUniqueEmails(String[] emails) {
StringBuilder stringBuilder;
//HashSet存储不重复的邮箱结果
HashSet<String> store = new HashSet<>();
for (String email:emails) {
stringBuilder = new StringBuilder(email);
if (stringBuilder.indexOf("+")!=-1) {
stringBuilder.replace(stringBuilder.indexOf("+"),stringBuilder.indexOf("@"),"");
}
while (stringBuilder.indexOf(".")<stringBuilder.lastIndexOf("@")) {
stringBuilder.deleteCharAt(stringBuilder.indexOf("."));
}
store.add(stringBuilder.toString());
}
return store.size();
}
}