输入一个长度不超过 100 的字符串,删除串中的重复字符。例如输入:aabbccdddeeeff,输出abcdef。c语音
时间: 2024-12-20 20:16:17 浏览: 2
删除字符串中重复字符的操作可以使用数据结构如集合(Set)来实现,因为集合不允许有重复元素。以下是简单的步骤:
1. 创建一个空的集合,用于存储唯一的字符。
2. 遍历输入字符串的每个字符。
3. 对于每个字符,检查它是否已经在集合中。如果不在,就将其添加到集合中,并将该字符添加到结果字符串。
4. 循环结束后,集合中的元素就是去重后的字符,将它们连接起来形成最终的输出。
示例Python代码:
```python
def remove_duplicates(s):
unique_chars = set()
result = ""
for char in s:
if char not in unique_chars:
unique_chars.add(char)
result += char
return result
input_str = "aabbccdddeeeff"
output_str = remove_duplicates(input_str)
print(output_str) # 输出: abcdef
```
相关问题
输入一个长度不超过 100 的字符串,删除串中的重复字符。例如输入:aabbccdddeeeff,输出abcdef。
这个问题可以使用数据结构如集合(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++程序实现: 输入一个长度不大于30的字符串,将此字符串中从第m个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。 输入样例: ab 1 输出样例: ab 输入样例: abcdef 3 输出样例: cdef
下是一个 C++ 程序实现,可以满足你的需求:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[31], newStr[31];
int m;
// 输入字符串和开始位置
cout << "请输入一个长度不大于30的字符串:";
cin >> str;
cout << "请输入开始位置:";
cin >> m;
// 复制字符串
int len = strlen(str);
if (m > len) {
cout << "开始位置超出字符串长度!" << endl;
return 0;
}
strcpy(newStr, str + m - 1);
// 输出新字符串
cout << "新字符串为:" << newStr << endl;
return 0;
}
```
该程序首先输入一个字符串和开始位置,然后使用 `strlen` 函数获取字符串的长度,判断开始位置是否超出字符串长度,如果超出就输出错误信息。接着使用 `strcpy` 函数将从第 m 个字符开始的剩余全部字符复制到新的字符串中,并使用 `cout` 输出新字符串。
阅读全文