python如果一个字符串通过字符位置的调整能重组为另一个字符串,就称这两个字符串“可重组相等”。给出两个字符串,请判断它们是否“可重组相等”。
时间: 2023-12-22 09:05:17 浏览: 126
可以将两个字符串中的字符排序后比较是否相等来判断它们是否可重组相等。具体操作如下:
1. 首先判断两个字符串的长度是否相等,若不相等则一定不可重组相等;
2. 将两个字符串中的字符按照字典序排序;
3. 比较两个排序后的字符串是否相等,若相等则可重组相等,否则不可重组相等。
以下是实现该算法的Python代码:
```python
def is_anagram(str1, str2):
if len(str1) != len(str2):
return False
sorted_str1 = sorted(str1)
sorted_str2 = sorted(str2)
return sorted_str1 == sorted_str2
```
可以通过以下代码验证算法的正确性:
```python
assert is_anagram("abcd", "dcba") == True
assert is_anagram("abcd", "dcb") == False
assert is_anagram("anagram", "nagaram") == True
```
阅读全文