查找给定字符串中的第一个非重复字符。您可以假设该字符串包含来自世界上任何语言的任何字符
如果它只是一个包含所有ASCII字符的字符串,我就不懂“任何语言”。
然后我的解决方案是:
// define a
bool a[256];
string b = "RAFAEL NADAL is KING OF CLAY";
while (i < str.length())
{
int val = b[i];
if (a[val])
return false;
else
a[val] = true;
}
通过上述方法通过手工操作我们可以得到第一个非重复的字符 但我不理解“从任何语言”(即西班牙语,阿拉伯语等)
答案 0 :(得分:0)
int firstNonRepeatingCharIndex(char* str)
{
for ( int i = 0 ; *(str+i) ; i++)
{
int flag = 0;
for ( int j = i+1 ; *(str+j) ; j++)
{
if ( *(str+i) == *(str+j))
flag = 1;
}
if(flag == 0)
return i;
}
return -1;
}