题解 | C# #第一个只出现一次的字符#
第一个只出现一次的字符
http://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c
public int FirstNotRepeatingChar(string str)
{
if((str==null)||str.Length==0)return -1;
//好兄弟,咱们没有隔壁CharAt()可以直接用,用字典也是个方法
Dictionary<char, int> dic = new Dictionary<char, int>();
//遍历给字典赋值
for(int i =0;i<str.Length;i++)
{
if(dic.ContainsKey(str[i])==false)
dic.Add(str[i], 1);
else
{
dic[str[i]]++;
}
}
//遍历字典看有没有符合条件的,有则打印出来
for(int j =0;j<str.Length;j++)
{
if(dic[str[j]]==1)return j;
}
//都没有符合条件,返回-1
return -1;
}


字节跳动公司福利 1309人发布