#include<iostream>
#include<string>
using namespace std;
char FindChar(char* str)
{
int i, j;
int len = strlen(str);
for (i = 0; i < len; i++)
{
int count = 0;
for (j = 0; j < len; j++)
{
if (str[i] == str[j])
count++;
}
if (count == 2)
return str[i];
}
return '*';
}
int main()
{
char *str = "abcdefabcdefabc";
cout << FindChar(str) << endl;
system("pause");
return 0;
}
方法二:时间复杂度O(N)
#include<iostream>
using namespace std;
char FindChar(char* str)
{
char hashtable[256] = { 0 };
size_t i = 0;
for (; i < strlen(str); i++)
{
hashtable[str[i]]++;
}
for (i = 0; i < strlen(str); i++)
{
if (hashtable[str[i]] == 2)
return str[i];
}
return '*';
}
int main()
{
char *str = "adbda";
cout<<FindChar(str)<<endl;
system("pause");
return 0;
}