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 里面,如