输入一个长度不超过 100 的字符串,删除串中的重复字符。例如输入:aabbccdddeeeff,输出abcdef。
时间: 2024-12-20 16:16:21 浏览: 16
这个问题可以使用数据结构如集合(Set)或哈希表来解决,因为集合的特点就是不包含重复元素。以下是使用 Python 语言的一个简单示例:
```python
def remove_duplicates(s):
# 使用 set 数据结构存储 unique characters
unique_chars = set()
# 创建一个新的空字符串 result,用于存储不重复的字符
result = ""
for char in s:
if char not in unique_chars: # 如果字符不在集合中,添加到结果并加入集合
result += char
unique_chars.add(char)
return result
# 测试函数
input_str = "aabbccdddeeeff"
output_str = remove_duplicates(input_str)
print("Input:", input_str)
print("Output after removing duplicates:", output_str)
```
当你运行这个程序,会得到 `Output after removing duplicates: abcdef`。
相关问题
c语言输入一个长度不超过 100 的字符串,删除串中的重复字符。例如输入:aabbccdddeeeff,输出abcdef。
在C语言中,你可以使用一个数组或者哈希表(如`unordered_set`或`stdbool`数组)来实现这个功能。这里是一个简单的示例,我们将使用`bool`数组`used_chars`来标记已见过的字符:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#define MAX_LEN 100
void removeDuplicates(char *str) {
bool used_chars[256] = {false}; // ASCII码范围内的字符
int i = 0;
for (int j = 0; str[j]; ++j) {
if (!used_chars[str[j]]) {
printf("%c", str[j]);
used_chars[str[j]] = true;
i++;
}
}
// 输出剩余未打印的字符,如果有的话
while (i < MAX_LEN && !used_chars[str[i]]) {
printf("%c", str[i]);
i++;
}
}
int main() {
char input[MAX_LEN];
printf("请输入一个长度不超过100的字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入并去掉换行符
input[strcspn(input, "\n")] = '\0'; // 去掉换行符
removeDuplicates(input);
return 0;
}
```
当你运行程序时,它会提示你输入字符串,然后去除重复字符并输出结果。
输入一个长度不超过 100 的字符串,删除串中的重复字符。例如输入:aabbccdddeeeff,输出abcdef。用c语言输出
在C语言中,可以使用一个哈希表(如数组或关联数组)来实现这个功能,因为我们需要跟踪每个字符是否已经出现过。以下是简单的步骤:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 128 // 假设ASCII字符集
// 创建一个布尔型数组,用于记录字符是否出现过
int visited[MAX_CHAR] = {0};
void removeDuplicates(char str[], int n) {
for (int i = 0; i < n; i++) {
if (!visited[str[i]]) { // 如果字符未访问过
printf("%c", str[i]); // 输出该字符并标记为已访问
visited[str[i]] = 1;
}
}
}
int main() {
char input[] = "aabbccdddeeeff";
int len = strlen(input);
removeDuplicates(input, len);
return 0;
}
```
当你运行上述程序,它会输出 `abcdef`。注意这个简单实现假设字符串只包含ASCII字符,并且忽略了空格和特殊字符。如果需要处理更复杂的情况,比如Unicode或其他字符集,你需要相应地调整数组大小。
阅读全文