LeetCode 929.Unique Email Addresses【Java】

题目描述

独特的电子邮件地址

AC代码

/*
拿到一个邮件地址之后:
1.根据@将用户名和域名分隔开
2.将用户名根据+/.过滤,生成新用户名
3.将用户名和域名合并起来生成一个新邮箱,存放到hash表里
4.输出hash表的元素个数即可
*/
class Solution {
    public int numUniqueEmails(String[] emails) {
        HashMap<String,Integer> map=new HashMap<>();
        for(String str:emails){
            int at=str.indexOf('@');
            String root="";
            char[] before=str.substring(0,at).toCharArray();
            for(char item:before)
            {
                if(item=='+') break;
                if(item!='.') root+=item;
            }
            String domain=str.substring(at,str.length());
            map.put(root+domain,1);
        }
        return map.size();
    }
}
发布了201 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40992982/article/details/105496715