变位词就是两个词中组成字母或汉字相同,但排列不同
判断两个词是否为变位词的方法有四种:
一、暴力法
算法思路:将词1中出现的字符进行全排列,再查看全排列结果中是否报刊词2
缺点:全排列结果过多
二、逐字检查法
算法思想:将词1中的字符逐个到词2中检查是否存在,存在就“打勾”(将对应字符设置为None),若词1中每个字符都能在词2中找到,则两个词是变位词,只要有一个找不到,则不是
def anagramsolution1(s1,s2):
alist=list(s2)#复制s2到列表
pos1=0
stillok=True
while pos1<len(s1)and stillok:#循环s1的每个字符
pos2=0
found=False
while pos2<len(alist)and not found:#循环S2的每个字符
if s1[pos1]==alist[pos2]