# 方法一defcheck_word01(world01, world02):"""时间复杂度:O(n)"""
flag =1# 默认是变位词iflen(world01)!=len(world02):# 检查长度是否相同
flag =0if flag:for i inlist(world01):# 检查word1中的字符是否都在word2中if world02.find(i)==-1:
flag =0breakif flag:for j inlist(world02):# 检查word2中的字符是否都在word1中if world01.find(j)==-1:
flag =0breakreturn flag
print(check_word01("earth","heart"))print(check_word01("python","typhon"))
方法2
# 方法二defcheck_word02(word01, word02):"""时间复杂度:O(n*logN)"""# 先排序,再对比
flag =1# 默认是变位词iflen(word01)!=len(word02):
flag =0if flag:
list01 =list(word01)
list02 =list(word02)
list01.sort()# 排序不是一步,是n*logN
list02.sort()if list01 != list02:
flag =0return flag
print(check_word02("earth","heaart"))print(check_word02("python","typhon"))