C++且不使用vector头文件完成:从电脑输入一个字符串字符串由合法的英文字符组成你的任务是将这个字符串按照每个字符先出现的顺序进行去重具体规则参考样例。输入描述输入有一行包含一个由合法的英文字符组成的字符串。输出描述输出一行表示去重后的字符串。样例1输入helloworld输出helowrd样例2输入ddddededebaaaaaab输出deba
思路:
- 创建一个bool类型的数组visited,用来标记每个字符是否已经被访问过,默认为false。
- 遍历输入的字符串,对于每个字符c,判断visited[c]是否为false,如果为false,说明该字符还未被访问过,将其加入结果字符串中,并将visited[c]标记为true。
- 最后输出结果字符串。
代码实现如下:
#include
int main() { string s; cin >> s;
bool visited[256] = {false};
string res = "";
for (int i = 0; i < s.length(); i++) {
char c = s[i];
if (!visited[c]) {
res += c;
visited[c] = true;
}
}
cout << res << endl;
return 0;
原文地址: http://www.cveoy.top/t/topic/h1ln 著作权归作者所有。请勿转载和采集!