每封電子郵件都由一個本地名稱和一個域名組成,以 @ 符號分隔。python
例如,在 alice@leetcode.com
中, alice
是本地名稱,而 leetcode.com
是域名。函數
除了小寫字母,這些電子郵件還可能包含 '.'
或 '+'
。code
若是在電子郵件地址的本地名稱部分中的某些字符之間添加句點('.'
),則發往那裏的郵件將會轉發到本地名稱中沒有點的同一地址。例如,"alice.z@leetcode.com」
和 「alicez@leetcode.com」
會轉發到同一電子郵件地址。 (請注意,此規則不適用於域名。)leetcode
若是在本地名稱中添加加號('+'
),則會忽略第一個加號後面的全部內容。這容許過濾某些電子郵件,例如 m.y+name@email.com
將轉發到 my@email.com
。 (一樣,此規則不適用於域名。)字符串
能夠同時使用這兩個規則。get
給定電子郵件列表 emails
,咱們會向列表中的每一個地址發送一封電子郵件。實際收到郵件的不一樣地址有多少?string
示例:域名
輸入:["test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"] 輸出:2 解釋:實際收到郵件的是 "testemail@leetcode.com" 和 "testemail@lee.tcode.com"。
#根據題意走刪除不必的東西,組成新的列表,最後用集合去重返回長度
class Solution: def numUniqueEmails(self, emails: List[str]) -> int: res = set() for email in emails: head, tail = email.split('@') head = head.split('+')[0] head = head.replace('.', '') res.add(head+"@"+tail) return len(res)
給定兩個二進制字符串,返回他們的和(用二進制表示)。it
輸入爲非空字符串且只包含數字 1
和 0
。io
示例 1:
輸入: a = "11", b = "1" 輸出: "100"
示例 2:
輸入: a = "1010", b = "1011" 輸出: "10101"
先變成二進制進行加再把返回值中的0b去掉
class Solution: def addBinary(self, a: str, b: str) -> str: return bin(int(a,2)+int(b,2))[2:]
編寫一個函數,以字符串做爲輸入,反轉該字符串中的元音字母。
示例 1:
輸入: "hello" 輸出: "holle"
示例 2:
輸入: "leetcode" 輸出: "leotcede"
說明:
元音字母不包含字母"y"。
關鍵在你與有大寫和小寫,並且題意這樣出他的元音字母確定是偶數個
class Solution: def reverseVowels(self, s: str) -> str: l1 = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] i, j = 0, len(s)-1 s = list(s) while i < j: if s[i] in l1 and s[j] in l1: s[i], s[j] = s[j], s[i] i += 1 j -= 1 if s[i] not in l1 or s[j] not in l1: if s[j] not in l1: j -= 1 if s[i] not in l1: i += 1 return ''.join(s)
有更加好的思路,或者解題方法評論區留言謝謝