剑指 Offer 50. 第一个只出现一次的字符(简单)
题目:
方法一:
class Solution {
public:
char firstUniqChar(string s) {
char result=' ';
unordered_map<char,int> map; //使用哈希映射表
for(auto ss:s){
map[ss]++;
}
for(auto ss:s){
if(map[ss]==1){
result=ss;
break;
}
}
return result;
}
};
方法二:
class Solution {
public:
char firstUniqChar(string s) {
char result=' '; //如果没找到返回空格
vector<int> dic(26,0); //创建一个26个字母的字典,记录每个字母在s中出现的次数
for(auto ss:s){
dic[ss-'a']++;
}
for(int i=0;i<s.size();i++){ //遍历s字符串,并且查询字典,找出在字符串中出现次数为1的字符
if(dic[s[i]-'a']==1){
result=s[i];
break;
}
}
return result;
}
};