题目出自力扣2273 移除字母异位词后的结果数组。该题的要点就是如何判断两个字符串是字母异位词。
利用字典统计各字母个数
首先最容易想到的就是利用字典统计两个字符串各自含有元素的个数,将两个字典进行比较即可得到结果
def cnt(word):
res = {}
for i in word:
if i in res:
res[i] += 1
else:
res[i] = 1
return res
print(cnt(str1)==cnt(str2))
直接对字符串进行重排
sorted
函数可以直接对字符串进行排序(转化为一个列表),利用该特点对字符串进行重排后,字母异位词变为相同
>>> str1 = "abab"
>>> str2 = "bbaa"
>>> sorted(str1) == sorted(str2)
True