华为2019届校招笔试题及解法

  • 题目
  • 思路
  • 程序
  • 总结

题目

题目来源于网上:
给定一个字符串,将重复的字符去除,仅保留第一次出现的字符,且保持去重后的字符在原字符串中的顺序不变。

输入:一个字符串(不包含空格)
输出:去重后的字符串
eg:
输入:12ere2
输出:12er

思路

set去重

程序

#include
#include
#include
#include

using namespace std;

int main()
{
    string s,out_str;
    cin >> s;
    set tmp;
    for(char i:s)
    {
        if(tmp.find(i) == tmp.end())
        {
            tmp.insert(i);
            out_str.push_back(i);
        }
    }
    cout << out_str << endl;
    return 0;
}

总结

我是菜鸡。

你可能感兴趣的:(刷题吧)