列表

详情


CPP49. 去除字符串中重复的字符

描述

从键盘获取一串字符串,要求去除重复的字符,请使用 set 解决。

输入描述

键盘输入任意字符串

输出描述

输出去重后的内容(直接按 set 的默认顺序输出字符即可)

示例1

输入:

helloworld

输出:

dehlorw

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 2ms, 内存消耗: 384KB, 提交时间: 2022-05-23

#include <iostream>
// write your code here....
#include <string>
#include <set>
using namespace std;

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));
    set<char> t;
    // write your code here......
    for(int i=0;str[i]!='\0';i++)
    {
        t.insert(str[i]);   
    }
    for(set<char>::iterator it=t.begin();it!=t.end();it++)
    {
        cout<<*it;
    }
    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 408KB, 提交时间: 2021-11-19

#include <iostream>
// write your code here......
#include <set>
using namespace std;

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));

    // write your code here......
    set<char> sc;
    for(int i=0;str[i]!='\0';++i){
        sc.insert(str[i]);
    }
    for(set<char>::iterator it = sc.begin();it!=sc.end();++it){
        cout<<*it;
    }

    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 412KB, 提交时间: 2022-02-08

#include <iostream>
// write your code here......
#include<set>
#include<string>
using namespace std;
template<class T>
    void print(T first,T last)
    {
        for(;first!=last;first++)
            cout<<*first;
    }
int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));
     
    // write your code here......
    set<char> v;
    for(int i=0;str[i];i++)
    {
        v.insert(str[i]);
    }
    
    print(v.begin(),v.end());
    
    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 412KB, 提交时间: 2022-01-01

#include <iostream>
#include <set>// write your code here......

using namespace std;

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));

    // write your code here......
    set<char> s;
    for(int i=0;str[i]!='\0';i++){
        s.insert(str[i]);
    }
    for(auto it=s.begin();it!=s.end();it++){
        cout<<*it;
    }

    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 416KB, 提交时间: 2022-01-03

#include <iostream>
#include<set>
// write your code here......

using namespace std;

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));

    //使用c++中set实现字符串去重并排序
    set<char> test;
    int i,j,k;
    for(i=0;str[i]!='\0';i+=1){
        test.insert(str[i]);
    }    
    //遍历set并输出所存储的字符
    for(auto it=test.begin();it!=test.end();it++){
        cout<< *it;
    }
    // write your code here......
    

    return 0;
}

上一题