编写一个函数,接受两个字符串,判断他们是否是变位词
时间: 2024-12-13 22:20:18 浏览: 17
变位词是指由相同的字母组成,但是顺序不同的单词。例如,“listen” 和 “silent” 就是变位词。编写一个函数来判断两个字符串是否是变位词,你可以采用以下步骤:
1. 首先,检查这两个字符串长度是否相等,如果长度不一样,则它们不可能是变位词。
2. 对于长度相同的字符串,可以将每个字符串中的字符按照字典序排序,然后比较排序后的结果是否一致。如果排序后两串字符相同,那么原字符串就是变位词。
下面是一个简单的 Python 函数示例:
```python
def is_anagram(s1, s2):
# 检查长度是否相等
if len(s1) != len(s2):
return False
# 排序并比较字符串
return sorted(s1) == sorted(s2)
```
你可以像这样使用这个函数:
```python
print(is_anagram("listen", "silent")) # 输出: True
print(is_anagram("hello", "world")) # 输出: False
```
相关问题
编写一个函数,接受两个字符串参数word1和word2,并判断他们是否是彼此的变位词,如果是变位词返回True,否则返回False
好的,以下是Python语言的函数实现:
```python
def is_anagram(word1, word2):
if len(word1) != len(word2):
return False
count = {}
for char in word1:
if char in count:
count[char] += 1
else:
count[char] = 1
for char in word2:
if char in count:
count[char] -= 1
if count[char] == 0:
del count[char]
else:
return False
return len(count) == 0
```
这个函数先判断两个字符串的长度是否相等,如果不相等则直接返回False。接着用一个字典count来记录word1中每个字符的出现次数,然后遍历word2,对于每个字符,如果它在count中出现过,则将其出现次数减1,如果减1后该字符的出现次数为0,则将其从count中删除;如果该字符在count中没有出现过,则说明word2和word1不是变位词,直接返回False。最后再判断一下count中是否还有剩余的字符,如果没有则说明word2和word1是变位词,返回True。
用c语言写一个程序。给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)
好的,这个问题我可以回答。可以使用哈希表来解决这个问题。首先,判断两个字符串的长度是否相等,如果不相等,则它们不是变位词。然后,遍历第一个字符串,将每个字符出现的次数记录在哈希表中。接着,遍历第二个字符串,如果某个字符在哈希表中出现的次数为0,则它们不是变位词。如果出现的次数不为0,则将哈希表中该字符出现的次数减1。最后,遍历完第二个字符串后,如果哈希表中所有字符的出现次数都为0,则它们是一组变位词。
阅读全文