判断两个字符串中出现的字符及其出现次数最多是否相同
时间: 2023-12-17 22:02:38 浏览: 62
Java 判断两个字符串是否由相同的字符组成的实例
可以通过使用哈希表来解决这个问题,具体步骤如下:
1. 遍历第一个字符串,将每个字符及其出现次数记录到哈希表中;
2. 遍历第二个字符串,对于每个字符,如果它在哈希表中出现过,则将其出现次数减一,否则直接返回 false;
3. 最后遍历哈希表,判断其中每个字符的出现次数是否均为 0,如果是,则返回 true,否则返回 false。
以下是代码实现:
```python
def is_same_char_count(str1, str2):
if len(str1) != len(str2):
return False
char_count = {}
for c in str1:
if c in char_count:
char_count[c] += 1
else:
char_count[c] = 1
for c in str2:
if c in char_count:
char_count[c] -= 1
if char_count[c] < 0:
return False
else:
return False
for count in char_count.values():
if count != 0:
return False
return True
```
该算法的时间复杂度为 O(n),其中 n 为字符串长度,空间复杂度也为 O(n),因为需要使用哈希表来记录字符出现次数。
阅读全文