分析
利用数组或者map容器建立一个映射关系,数组内存放每个字符的个数,然后依顺序查找第一个个数为1的字符。
代码
返回第一个唯一字符位置同理。
char firstUniqChar(string s) {
//int hash[52] = { 0 }; //字符串含有大写字母
int hash[26] = { 0 }; //字符串只有小写字母
for (char c : s)
{
hash[c - 'a'] += 1;
}
for (int i = 0;i < s.size(); ++i)
{
if (hash[s[i] - 'a'] == 1)
return s[i];
}
return '';
}
测试用例
s = “leetcode”
返回 ‘’.
s = “loveleetcode”,
返回 ‘v’.