leetcode-剑指50-OK
需要优化
// 时间复杂度n^2
char firstUniqChar(char* s){
int getlen(char* s){
int i = 0;
while(s[i] != '\0'){
i++;
}
return i;
}
int len = getlen(s);
if(len == 0)
return ' ';
bool ok[len];
for( int i = 0; i< len; i++)
ok[i] = true;
char nosame[len];
int next = 0;
int check( char s){
for( int j = 0; j<next; j++){
if(nosame[j] == s)
return j; // 有 就返回 下标
}
return -1; // 没有返回-1
}
void fill( char s){
nosame[next] = s;
next++;
}
for( int i = 0; i< len; i++){
if(check(s[i])>=0)
ok[check(s[i])] = false;
else
fill(s[i]);
}
for( int i = 0; i< next; i++){
if(ok[i] == true)
return nosame[i];
}
return ' ';
}