问题描述:变位词指的是两个单词之间存在字母的重新排列关系,例如:heart和earth,python和typhon.
为了问题的简单描述,我们假设两个词都是小写,并且长度相同。
解决这个问题,我们有三种方法:
方法一:逐字比较法
思路:遍历第一个单词的每个字母,判断字母是否在另一个单词中,如果每个字母都在另一个单词中,则说明是是变位关系。
算法分析:
def anagramsolution(s1,s2):
alist = list(s2) #复制s2 到达列表
pos1 = 0
stillok = True
while pos1 <len(s1) and stillok : #循环s1的每个字符串
pos2 =0
found = False
while pos2 < len(s2) and not found:
if s1[pos1] == alist[pos2]:
found = True #在s2逐个对比 ,要是找到了直接跳出循环&#x