给你一个字符串s,如果s是差字符串返回true否则返回false ,差字符串指所有字符出现次数都不同
时间: 2024-10-16 22:16:12 浏览: 19
给定一个字符串 `s`,判断其是否为“差字符串”(也称作“非重复字符字符串”或“全异构字符串”),我们可以利用哈希表(或字典)的数据结构来检查每个字符的出现次数。我们遍历整个字符串,对于每个字符,我们在哈希表中增加该字符的计数,同时检查这个计数是否已经存在于哈希表中。如果遇到重复的字符,则立即返回 `false`,表示不是差字符串;如果遍历完整个字符串都没有找到重复的字符,最后返回 `true`。
以下是Python的一个简单实现:
```python
def isDifferent(s):
char_count = {} # 用于存放字符及其出现次数
for char in s:
if char in char_count:
return False
char_count[char] = char_count.get(char, 0) + 1
return len(char_count) == len(set(s)) # 检查字符计数与字符列表长度是否相等
# 测试
s = "abcdefg"
print(isDifferent(s)) # 输出: True
s = "aaabbbccc"
print(isDifferent(s)) # 输出: False
```
在这个实现中,`len(char_count)` 表示不重复字符的数量,而 `len(set(s))` 则表示字符串中唯一字符的数量。如果两者相等,说明所有的字符都是唯一的,即 `s` 是一个差字符串。
阅读全文