问题
思路
思路很简单,首先枚举一遍。记录hash值。然后,还是根据s进行枚举,找到hash值为1的返回即可。
关键是一定要按照s的顺序进行枚举。
代码
class Solution {
public:
int firstUniqChar(string s) {
int hash[128];
std::memset( hash, 0, sizeof(hash) );
int sz = s.size();
for( int i = 0; i < sz; ++i ){
++hash[s[i]];
}
for( int i = 0; i < sz; ++i ){
if( 1==hash[s[i]] )
return i;
}
return -1;
}
};