天天看点

LeetCode 929 Unique Email Addresses

题意

给与一组

email

地址,

email

分为两部分,

@

前我们称为

local name

,

@

后称为

domain name

。现规定只可以出现小写字母和字符

.

+

其中

.

可以忽略, 如 `[email protected]

[email protected]

都表示

[email protected]

+

出现在

local name

中时,将忽略第一个

+

后的所有内容,如

[email protected]

[email protected]

都表示

[email protected]`。

解法

按照题意,先取

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.