【题目描述】
AcWing 63. 字符串中第一个只出现一次的字符
【思路】
用HashMap来统计每个字母的出现次数 ,后面的字母的顺序(保证是第一个)靠遍历原来字符串来保证
class Solution {
public char firstNotRepeatingChar(String s) {
if( s == null || s.length() == 0) return '#';
char c[] = s.toCharArray();
int n = c.length;
Map<Character,Integer> map = new LinkedHashMap<>();
for(int i = 0; i < n; i ++)
{
if( !map.containsKey(c[i])) map.put(c[i], 1);
else{
int v = map.get(c[i]);
map.put(c[i],v + 1);
}
}
for(int i = 0; i < n; i ++)
if( map.get(c[i]) == 1 )
return c[i];
return '#';
}
}