給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。
示例1:
輸入: s = "anagram", t = "nagaram"
輸出: true
示例2:
輸入: s = "rat", t = "car"
輸出: false
# count()用於統計字串中某個字元出現的次數
str.count(sub, start= 0,end=len(string))
# set() 函式建立乙個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集、差集、並集等。
判斷字元出現的次數
class solution:
def isanagram(self, s: str, t: str) -> bool:
if len(s) == len(t) and set(s) == set(t):
for c in s:
if s.count(c) != t.count(c):
return false
return true
return false
ord()函式就是用來返回單個字元的ascii值(0-255)或者unicode數值()
建立乙個陣列來存放字元個數
class solution:
def isanagram(self, s: str, t: str) -> bool:
arr = [0] * 26
for c in s:
arr[ord(c) - ord("a")] += 1
for c in t:
arr[ord(c) - ord("a")] -= 1
if arr.count(0) != 26:
return false
return true
相對來說,第一種思路得到的結果比較好 Leetcode 242 有效的字母異位
time 20190901 type easy 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果...
LeetCode242 有效的異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整...
LeetCode 242 有效的字母異位
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?思路 兩個字串長度不等,則不滿足。兩個字串相等,則滿足。定義兩個陣列,分別記錄s和t中每個字母出現的次...