
所谓的有效的字母异位词其实就是包含的字母是一样的,只是组成了不同的单词。
#一种非常简单的解法就是复杂度有点高,O(nlogn)
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
return sorted(s) == sorted(t)
#通过使用额外的数据结构,哈希表,优化到了O(n),空间换时间的思想
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
#return sorted(s) == sorted(t)
dic1,dic2 = dict(),dict()
for i in s:
dic1[i] = dic1.get(i,0) + 1
for j in t:
dic2[j]= dic2.get(j,0) + 1
return dic1 == dic2

本文介绍了两种检测字母异位词的有效算法。第一种方法通过排序字符串并比较它们来判断是否为字母异位词,时间复杂度为O(nlogn)。第二种方法使用哈希表记录字符出现次数,优化时间复杂度到O(n),实现空间换时间的策略。
428

被折叠的 条评论
为什么被折叠?



