#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cin >> str;
string resultString;
const int N = 256;
bool hash[N] = {false};
//memset(hash, 0, sizeof(hash));
for (int i = 0; i < str.size(); ++i)
{
if (hash[str[i]] == false)
{
hash[str[i]] = true;
resultString.push_back(str[i]);
}
}
cout << resultString << endl;
return 0;
}
********************** 指针 *****************************/
char * deleteRepeatedChars(char *pString) {
if (pString == NULL || strlen(pString) == 1) return pString;
//设置一个bool型数组来实现哈希表,key为数组下表(对应字符的ascii码),value为数组下标对应的字符是否已经在字符串中出现过
const int tableSize = 256;
bool hashTable[tableSize];
memset(hashTable, 0, sizeof(hashTable));
char *slow = pString;
char *fast = pString;
while (*fast != '\0') {
if (!hashTable[*fast]) {
hashTable[*fast] = 1;
*slow = *fast;
slow++;
}
fast++;
}
*slow = '\0';
return pString;
}
int main()
{
char text[] = "aabcdccefgeeh";
char *pString = text;
pString = deleteRepeatedChars(pString);
cout << pString << endl;
return 0;
}