leetcode.929.UniqueEmailAddresses
links: https://leetcode.com/problems/unique-email-addresses/
思路:以@分成两部分A|B,后半部分B留用。前半部分A,将第一个“+”号后面的部分忽略掉,然后将剩余部分中的“.” 都删除或者替换掉,最终剩余部分C。C@B就是最终能接收到邮件的邮箱。
上代码, 这里处理每个邮件又单独写了一个方法
class Solution(object):
def numUniqueEmails(self, emails):
"""
:type emails: List[str]
:rtype: int
"""
alist = [self.emailHandle(email) for email in emails]
return len(set(alist))
def emailHandle(self, email):
pre, postfix = email.split("@")
cn = pre.split("+")
cn[0] = "".join(cn[0].split("."))
target = "@".join([cn[0], postfix])
return target
leetcode上大多人的方案都是直接写在了numUniqueEmails 里面,如
浙公网安备 33010602011771号