华为2016研发工程师编程题-字符集合

题目描述

  输入一个字符串,求出该字符串包含的字符集合。

输入

  每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。

输出

  每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。

示例

输入

abcqweracb

输出

abcqwer

解题

思路

  这道题我看到的时候就决定用set来写,但是一开始没有看到按照原来的顺序输出,所以WA了一发。后来发现可以不需要用set来保存数据,只需要用set来查重就可以了,也就是输入一个,在set里面找有没有,有就输入下一个,没有就插入到set中,并输出到屏幕上。还有一个特殊的就是我用了字符串流的概念。

代码

    #include <iostream>
    #include <set>
    #include <sstream>
    #include <string>
    using namespace std;
    
    int main()
    {
        string s;
        char c;
        
        while (getline(cin,s))
        {
            set<char> letter;
            stringstream str(s);
            set<char>::iterator iter;
            while (str >> c) {
                iter = letter.find(c);
                if (iter == letter.end()) {
                    letter.insert(c);
                    cout << c;
                }
            }
            cout << endl;
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,170评论 0 7
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,521评论 0 5
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,267评论 1 19
  • 朝阳散发着光芒 照着前进的方向 冬日里 瑟瑟发抖的枝条 也充满了力量 翠的松 银的霜 在霞光里绽放 飘零的叶 在杂...
    记搏阅读 306评论 0 1
  • 【我正看书,一个小虫子飞上我的手背,于是我写下了这些文字】 嗨 朋友 你好 你从哪里来? 要到哪里去? 你为何突然...
    申振柱阅读 180评论 0 1