输入一个长度不超过 100 的字符串,删除串中的重复字符。
时间: 2023-06-05 21:47:53 浏览: 128
可以使用哈希表或者集合来实现删除重复字符的操作。具体步骤如下:
1. 定义一个空的哈希表或者集合,用于存储已经出现过的字符。
2. 遍历输入的字符串,对于每个字符,判断它是否已经出现过。如果已经出现过,则跳过;否则,将它添加到哈希表或者集合中,并将它添加到结果字符串中。
3. 返回结果字符串。
示例代码如下:
```
def remove_duplicates(s):
seen = set()
result = ''
for c in s:
if c not in seen:
seen.add(c)
result += c
return result
```
这个函数使用了集合来存储已经出现过的字符,遍历输入字符串,对于每个字符,如果它没有出现过,则将它添加到集合中,并将它添加到结果字符串中。最后返回结果字符串。
相关问题
c语言输入一个长度不超过 100 的字符串,删除串中的重复字符。
可以使用一个布尔型的数组来记录每个字符是否出现过,如果出现过就将其删除。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[101];
scanf("%s", s);
int len = strlen(s);
int appeared[256] = {0}; // 初始化为0
int i, j;
for (i = 0, j = 0; j < len; j++) {
if (!appeared[s[j]]) { // 如果字符没出现过
s[i++] = s[j]; // 将其加入结果串中
appeared[s[j]] = 1; // 标记为出现过
}
}
s[i] = '\0'; // 结束字符串
printf("%s\n", s);
return 0;
}
```
这里使用了一个 appeared 数组来记录每个字符是否出现过。具体实现中,我们从头到尾遍历字符串,如果当前字符没有出现过,就将其加入结果串中,并将其标记为出现过。如果当前字符已经出现过,就不做任何操作,直接跳过。遍历完成后,将结果串以'\0'结尾并输出即可。
编写一个程序,输入一个长度不超过100 的字符串,并删除字符串中的重复字符
以下是一个 Python 代码示例,可以实现输入一个字符串并删除其中的重复字符:
```
s = input("请输入一个字符串:")
s = ''.join(sorted(set(s), key=s.index))
print("删除重复字符后的字符串为:", s)
```
这个程序首先让用户输入一个字符串,然后使用 set() 函数将字符串中的字符去重,再使用 sorted() 函数按照原字符串中的顺序排序,最后使用 join() 函数将字符列表转换为字符串并输出。