题目:
个人总结
929. 独特的电子邮件地址 题目:
每个 有效电子邮件地址 都由一个 本地名 和一个 域名 组成,以 '@' 符号分隔。除小写字母之外,电子邮件地址还可以含有一个或多个 '.' 或 '+' 。
例如,在 alice@leetcode.com中, alice 是 本地名 ,而 leetcode.com 是 域名 。
如果在电子邮件地址的 本地名 部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名中没有点的同一地址。请注意,此规则 不适用于域名 。例如,"alice.z@leetcode.com” 和 “alicez@leetcode.com” 会转发到同一电子邮件地址。
如果在 本地名 中添加加号('+'),则会忽略第一个加号后面的所有内容。这允许过滤某些电子邮件。同样,此规则 不适用于域名 。例如 m.y+name@email.com 将转发到 my@email.com。
可以同时使用这两个规则。给你一个字符串数组 emails,我们会向每个 emails[i] 发送一封电子邮件。返回实际收到邮件的不同地址数目。
总结: 这道题属于简单题,最主要是考察一个对于string相关类的使用,以及如何去统计重复值。而在算取重复值这里,一开始可能回想使用数组遍历,但是这样的开销会十分之大,为此,应该考虑使用set,因为set里的每一个值都是唯一的。
在String的一个类方法的使用固然需要提升
function (String sb) | |
sb.indexOf('admin char') | 此方法用于寻找字符串中字符的位置 |
sb.substring(start, end) | 此方法用于获取对应的字串 |
sb.split(‘char')[] | 将string安装char分割成数组 |
sb.replace('a','b') | 将a替换成b |