0

查找给定字符串中的第一个非重复字符。您可以假设该字符串包含来自世界上任何语言的任何字符

如果它只是所有 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;
     }   

使用上述方法,通过操作一些东西,我们可以获得第一个非重复字符,但我不理解“来自任何语言”(即西班牙语、阿拉伯语等)

4

1 回答 1

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;
}
于 2014-01-16T18:24:01.077 回答