1. 程式人生 > >給定一個字串,去重(重複的字元只保留第一次出現的)

給定一個字串,去重(重複的字元只保留第一次出現的)

原始碼(c++):

#include <iostream>
#include <string>
using namespace std;

int main(){
    string str;
    cin>>str;
    int a[256]={0, 0};
    int strLen = str.size();
    for(int i=0; i<strLen; ++i){
        a[str[i]]++;
    }
    int i, j;
    i=j=0;
    for(int i=0; i<strLen; ++i){
        if(a[str[i]]>=0){
            a[str[i]] = -1;
            swap(str[i], str[j]);
            j++;
        }
    }
    str = str.substr(0, j);
    cout<<str<<endl;
    return 0;
}

輸出: