题目描述:在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
思路一:用字典。将字符串中的每个字符以及它们出现的次数都记录下来,然后输出第一个次数为1的数,没有的话就输出单空格
ps:这里有一个小细节,在C#中双引号(“ ”)引出的是字符串string,单引号(‘ ’)引出的是字符char
代码如下:
public class Solution {
public char FirstUniqChar(string s) {
Dictionary<char,int> kvs = new Dictionary<char,int>();
for(int i = 0;i<s.Length;i++){
if(!kvs.ContainsKey(s[i])){
kvs.Add(s[i],1);
}
else{
kvs[s[i]]++;
}
}
foreach(var a in kvs){
if(a.Value == 1){
return a.Key;
}
}
return ' ';
}
}
结果: