如果可以通过重排一个单词中字母的顺序,得到另外一个单词,那么称这两个单词是变位词。编写一个叫做 is_anagram
的函数,接受两个字符串作为参数, 如果它们是变位词则返回 True
。
解答:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| def is_anagram(s1,s2):
t1 = list(s1)
t2 = list(s2) #先把字符串转换成列表
if len(t1) == len(t2): #如果两个字符串长度都不一样,那么肯定不是变位词了
t1.sort()
t2.sort() #按照同样的方式重新排序后,如果二者元素对应相等,那么它们就是变位词了
for i in range(len(t1)):
if t1[i] == t2[i]:
pass
else:
return False
return True
else:
return False
is_anagram('abc','bac')
|