字符串中第一个只出现一次的字符
在字符串中找出第一个只出现一次的字符。
如输入"abaccdeff",则输出b。
如果字符串中不存在只出现一次的字符,返回#字符。
样例:
输入:“abaccdeff”
输出:‘b’
思路:
用一个Hashmap key是每个字母 value是出现的次数,第一次用for循环将字符串每个字符录到哈希map里,如果有重复的就把value加一;
然后第二遍遍历string,如果有一个字母在哈希表里的值为1,就return 退出循环
class Solution {
public char firstNotRepeatingChar(String str) {
HashMap<Character,Integer> map = new HashMap<>();
for(char a: str.toCharArray()){
if(!map.containsKey(a)){
map.put(a,1);
}else{
int count = map.get(a)+1;
map.put(a,count);
}
}
for(char a : str.toCharArray()){
if(map.get(a)==1){
return a;
}
}
return '#';
}
}