题目:
在字符串中找出第一个只出现一次的字符。如输入"abaccdeff"
,则输出'b'
。
解析:
利用hash表的原理。开一个数组,设下标为字符,数组为相应字符出现的次数,最后遍历数组中为1的下标即可。
参考答案:
class Solution{
public:
char firstUniqChar(string s){
if(s.empty())
return ' ';
vector<int> arr(128, 0);
for(int i = 0; i < s.size(); ++i){
arr[s[i]]++;
}
for(int i = 0; i < s.size(); ++i){
if(arr[s[i]] == 1)
return s[i];
}
return ' ';
}
};